【问题标题】:ASP.NET Treeview control failing to handle angle brackets in dataASP.NET Treeview 控件无法处理数据中的尖括号
【发布时间】:2010-12-07 02:53:06
【问题描述】:

我有一些数据在某些字段中包含尖括号。

即使正确转义为 &lt:>(甚至是十六进制代码),在 Visual Studio 2005 ASP.Net 中,字段数据也会在第一个尖括号处被截断。如果我用花括号替换数据,它显示得很好。

示例数据(未转义):

<ITReview><row TopNode="REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/><row TopNode="REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/></ITReview><ITReview><row TopNode="REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/><row TopNode="REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/></ITReview>

示例数据(转义):

<ITReview>
<row TopNode="REQ 123456&#x09;TT Description&#x09;&lt;Date sent to app dev&gt;&#x09;&lt;Priority&gt;&#x09;&lt;SubTask Status&gt;"/>
<row TopNode="REQ 456789&#x09;TT Description&#x09;&lt;Date sent to app dev&gt;&#x09;&lt;Priority&gt;&#x09;&lt;SubTask Status&gt;"/>
</ITReview>

没有做任何棘手的事情,将 TreeView 绑定到具有文件名集的 XMLDataSource,并将绑定指定为 DataMember=row 和 TextField=TopNode。

我没有在网上找到任何东西,但当然搜索“尖括号”只会增加结果数量,而不是减少结果。

有人看到这样的东西吗?知道解决方法或解决方案吗? ASP.Net v2.0.50727.

更新:按照建议,我使用的 CDATA 示例。没用。

<ITReview> <TopNode> <MainData> <![CDATA[REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>]]> </MainData> </TopNode> <TopNode> <MainData> <![CDATA[REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>]]> </MainData> </TopNode> </ITReview>

【问题讨论】:

    标签: asp.net visual-studio-2005 treeview


    【解决方案1】:

    如果我对尖括号进行双重编码,它似乎可以工作,至少我认为你正在寻找。所以&amp;amp;lt; 而不是&lt;

    我四处寻找导致这种想法的原因,您可能可以更改设置。看起来它来自 XmlAttribute 类的 Value 属性,但我没有看到关闭它的方法。

    【讨论】:

    • 乔治,它有效!谢谢!看起来像一个稍微模糊的解析器问题。我可能会向 MS 报告,仅供参考。
    【解决方案2】:

    尝试在 HTMLEncode() 的上下文中写出来

    【讨论】:

      【解决方案3】:

      您能否修改源 XML,使您的数据不在 TopNode="" 属性中,而是使用 &lt;row&gt;&lt;TopNode&gt;&lt;![CDATA[long string]]&gt;&lt;/TopNode&gt;&lt;/row&gt;

      【讨论】:

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