asp:HyperLink的NavigateURL属性的正确语法是什么?
当我使用双引号字符时出错。 (例如:“访问我们社区的访问” - 健康理疗服务)
<RAD:GridTemplateColumn HeaderText="KPI" DataField="DisplayName" UniqueName="KPIName" GroupByExpression="DisplayName Group By DisplayName">
<ItemTemplate>
<asp:Label Text='<%# Eval("DisplayName") %>' ID="lblKPI" runat="server" Visible="false" />
<asp:HyperLink runat="server" ID="lnkKpi" rel='<%# Eval("DisplayName") %>' Text='<%# Eval("DisplayName") %>' NavigateUrl='<%# Eval("KPIID","~/Authorised/PerformanceManagement/PerformanceManagement.aspx?Kpi={0}") %>' Target="_blank"></asp:HyperLink>
</ItemTemplate>
</RAD:GridTemplateColumn>
结果
如何处理错误?
使用HtmlEncode
作为值
Text='<%# HttpUtility.HtmlEncode(Eval("DisplayName")) %>'
要么
NavigateUrl='<%# "~/Authorised/PerformanceManagement/PerformanceManagement.aspx?Kpi=" + HttpUtility.HtmlEncode(Eval("DisplayName")) %>'
您可以通过在代码隐藏文件中创建URL来实现。
见Dynamically set a hyperlink control's NavigateUrl property inline。