以下内容可行:
<% if (Sql.ToBoolean(HttpContext.Current.Application["CONFIG.SHOW_REPORTING_LINK"]))
{
%>
<asp:HyperLink ID="hypReporting" ForeColor="white" Text='Reporting' NavigateUrl="#" CssClass="myAreaLink" Runat="server" />
<font color="white">|</font>
<%
}
%>
但是,我需要一个动态链接,而不是静态链接。我试过这个:
<% if (Sql.ToBoolean(HttpContext.Current.Application["CONFIG.SHOW_REPORTING_LINK"]))
{
%>
<asp:HyperLink ID="hypReporting" ForeColor="white" Text='Reporting' NavigateUrl="<%# Eval(HttpContext.Current.Application["CONFIG.REPORTING_URL"]) %>" CssClass="myAreaLink" Runat="server" />
<font color="white">|</font>
<%
}
%>
但是,它给了我一个错误,上面写着“服务器标签格式不正确。”
我通常会从代码隐藏中执行此操作,但.master文件中没有代码隐藏,对吧?
感谢您的帮助。
答案 0 :(得分:3)
NavigateUrl中的双引号导致错误的服务器标记。它应该是:
NavigateUrl='<%# Eval(HttpContext.Current.Application["CONFIG.REPORTING_URL"]) %>'
你应该摆脱那个<font>
标签,只使用CSS。该标签已弃用。
是的,母版页文件中有代码隐藏(右键单击 - &gt;查看代码;或者在解决方案资源管理器中,确保单击“显示所有文件”)。在那里做这件事可能会更容易/更清洁。