【问题标题】:ASP.NET - Output of angle brackets from a Web.sitemap fileASP.NET - 从 Web.sitemap 文件输出尖括号
【发布时间】:2021-10-26 16:59:38
【问题描述】:

我正在使用转发器来创建目录。数据来自 Web.sitemap 文件。

站点中的一个页面是关于List<T>,所以站点地图节点是这样的:

<siteMapNode url="~/path-to-page" title="List&lt;T&gt;"/>

这个特定节点的输出变成:

<a href="/path-to-page">List<t></t></a>

尖括号变成了无意义的HTML标签。

我尝试了另外两个字符实体,但没有一个得到实际尖括号的输出。输出同上。

title="List&#60;T&#62;"
title="List&#x3C;T&#x3E;"

在我进入并找出某种string.Replace 解决方案或其他东西之前,我想知道我是否缺少在站点地图文件中放置尖括号以便正确输出的其他方法。

附: ItemTemplate 只有:

<asp:HyperLink runat="server" NavigateUrl='<%# Eval("Url") %>' Text='<%# Eval("Title") %>'>
</asp:HyperLink>

【问题讨论】:

    标签: asp.net web.sitemap


    【解决方案1】:

    当我逐步浏览结果时,我意识到尖括号不是以一种奇怪的方式输出,而是实际上作为尖括号输出,这就是为什么它们看起来像 HTML 并产生废话 &lt;t&gt; 标记。

    我只需要HtmlEncode 输出:

    <asp:HyperLink runat="server" 
        NavigateUrl='<%# Eval("Url") %>' 
        Text='<%# Server.HtmlEncode(Eval("Title").ToString()) %>'>
    </asp:HyperLink>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 2013-11-16
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多