gpt4 book ai didi

asp.net - sharepoint 渲染模板从字段中设置属性

转载 作者:行者123 更新时间:2023-12-04 06:58:28 24 4
gpt4 key购买 nike

我正在尝试编写一个自定义呈现模板,以在其字段包括 Title 的列表的 DisplayForm 中使用。 , HeaderImageUrl , Body .到目前为止,我有以下内容:

<SharePoint:RenderingTemplate ID="NewsListForm" runat="server">
<Template>
<h1><SharePoint:FieldValue FieldName="Title" runat="server"/></h1>
<div>
<p>
<SharePoint:UrlField FieldName="HeaderImageUrl" runat="server"></SharePoint:UrlField>
<SharePoint:RichTextField FieldName="Body" runat="server" />
</p>
</div>
</Template>
</SharePoint:RenderingTemplate>
HeaderImageUrl字段配置为图像 URL,但是当我使用 UrlField控制,它呈现一个链接。

我在想可能有一种方法可以获取字段值并将它们放入属性中,所以是这样的:
<asp:Image ImageUrl="<% FieldValue["HeaderImageUrl"] %>" runat="server"/>

如果这种事情是不可能的,那么 Microsoft.SharePoint.WebControls 中有另一个控件吗?会从 URL 呈现图像?

最佳答案

我见过的所有调用 URL 字段以显示为图像的示例都是通过 C# 代码实现的。这很烦人,因为大多数 Web 部件位都可以在不使用 C# 代码的情况下编写。您可能还需要在这里走这条路……也许是自定义字段控件或用户控件。

即使您上面的代码确实获得了 HeaderImageUrl 的值,它也不会像 Url 值那样工作(令人困惑):

[指定的实际 url][一些奇怪的分隔符字符串][url 的描述字段(如果你不指定,通常是实际的 url)]

因此,您需要使用分隔符值拆分字符串,并使用 [0](第一个)作为您注入(inject)图像 url 的内容。

如果您找到一种无需编写 C# 代码即可完成此操作的方法,请发布。

p.s.您是否考虑过使用具有 xsl 部分的 DataFormWebPart,您可以在其中提取所需的内容?!

示例:您可以将以下语法粘贴到任何 aspx/ascx 文件中:

<%@ Register tagprefix="SharePoint" namespace="Microsoft.SharePoint.WebControls" assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register tagprefix="WebPartPages" namespace="Microsoft.SharePoint.WebPartPages" assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="PublishingWebControls" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<WebPartPages:DataFormWebPart runat="server" IsIncluded="True" FrameType="None"
NoDefaultStyle="TRUE" ViewFlag="0" Title="My List Display"
Default="FALSE" ID="dfwp_MyListDisplay"
DisplayName="My List Display">
<DataSources>
<SharePoint:SPDataSource runat="server" DataSourceMode="List" UseInternalName="true"
selectcommand='&lt;View&gt;&lt;Query&gt;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name=&quot;Category&quot;/&gt;&lt;Value Type=&quot;Text&quot;&gt;Header&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&lt;/Query&gt;&lt;/View&gt;' id="Utility_x0020_Navigation1"><SelectParameters><WebPartPages:DataFormParameter Name="ListName" ParameterKey="ListName" PropertyName="ParameterValues" DefaultValue="My List Display"/>
<asp:Parameter Name="ListName" DefaultValue="LIST NAME" />
<asp:Parameter Name="WebUrl" DefaultValue="<% $SPUrl:~SiteCollection/ %>" />
</SelectParameters>
</SharePoint:SPDataSource>
</DataSources>
<ParameterBindings>
<ParameterBinding Name="dvt_apos" Location="Postback;Connection"/>
<ParameterBinding Name="PageURL" Location="ServerVariable(URL)" DefaultValue=""/>
<ParameterBinding Name="SiteUrl" Location="ServerVariable(SERVER_NAME)" DefaultValue=""/>
</ParameterBindings>
<datafields>@Title,Title;@URL,URL;@Category,Category;@Parent_x0020_item,Parent_x0020_item;@Sort_x0020_Order,Sort Order;@ID,ID;@ContentType,Content Type;@Modified,Modified;@Created,Created;@Author,Created By;@Editor,Modified By;@_UIVersionString,Version;@Attachments,Attachments;@File_x0020_Type,File Type;@FileLeafRef,Name (for use in forms);@FileDirRef,Path;@FSObjType,Item Type;@_HasCopyDestinations,Has Copy Destinations;@_CopySource,Copy Source;@ContentTypeId,Content Type ID;@_ModerationStatus,Approval Status;@_UIVersion,UI Version;@Created_x0020_Date,Created;@FileRef,URL Path;</datafields>
<xsl>
YOUR XSLT HERE
</xsl>

</WebPartPages:DataFormWebPart>

关于asp.net - sharepoint 渲染模板从字段中设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2252740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com