0

以下将起作用:

<%  if (Sql.ToBoolean(HttpContext.Current.Application["CONFIG.SHOW_REPORTING_LINK"])) 
    { 
%>
    <asp:HyperLink ID="hypReporting" ForeColor="white" Text='Reporting' NavigateUrl="#" CssClass="myAreaLink" Runat="server" />
           &nbsp;<font color="white">|</font>&nbsp; 
<% 
    } 
%>

但是,我需要一个动态链接,而不是静态链接。我试过这个:

<%  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" />
           &nbsp;<font color="white">|</font>&nbsp; 
<% 
    } 
%>

但是,它给了我一个错误,上面写着“服务器标签格式不正确”。

我通常会从代码隐藏中执行此操作,但是 .master 文件中没有代码隐藏,对吗?

谢谢你的帮助。

4

1 回答 1

3

NavigateUrl 中的双引号导致错误的服务器标记。它应该是:

NavigateUrl='<%# Eval(HttpContext.Current.Application["CONFIG.REPORTING_URL"]) %>'

你应该去掉那个<font>标签,只使用 CSS。该标签已弃用。

是的,母版页文件中有代码隐藏(右键单击 -> 查看代码;或在解决方案资源管理器中,确保单击“显示所有文件”)。在那里做可能会更容易/更清洁。

于 2013-04-03T15:13:48.483 回答