我正在尝试使用asp控件渲染元素的标记,同时避免使用代码隐藏。所以我想动态生成href属性以包含从FieldValue控件(SharePointWebControls)呈现的内容。
所以例如我有这个控件:
<SharePointWebControls:FieldValue id="PageTitle" FieldName="Title" runat="server"/>
显示为:
“TestPage”
我在同一页面上有一个链接,如下所示:
<a href="http://www.mysite.com/mypage.aspx?title=TestPage">CLICK HERE!</a>
但是在<a>
元素的上方 - 我需要TestPage作为我的FieldValue
控件所呈现的内容的结果;所以我基本上需要一种在<a>
元素的href属性中“嵌入”此控件的输出的方法。
FieldValue
的渲染版本没有混乱的标记 - 它实际上只是文本 - 所以我假设这并不复杂。
答案 0 :(得分:1)
不熟悉SP控件,但我想当你试图将控件嵌入href时,编译器会在双引号上停止。
也许您可以尝试使用单引号替换href的双引号:
<a href='http://www.mysite.com/mypage.aspx?title=<SharePointWebControls:FieldValue id="PageTitle" FieldName="Title" runat="server"/>'>CLICK HERE!</a>
(请注意,如果文字中有引号,则会失败)
我看到的另一个解决方案是使用一些js / jquery(实际上几乎是相同的解决方案):
$('selectorForYourA').attr("href", 'http://www.mysite.com/mypage.aspx?title=<SharePointWebControls:FieldValue id="PageTitle" FieldName="Title" runat="server"/>');