【问题标题】:Format/Safe string for "title" attribute in anchor锚点中“title”属性的格式/安全字符串
【发布时间】:2011-08-07 22:19:07
【问题描述】:

我有一个构建锚标记的函数。该函数接收 URL,标题作为参数。问题是有时文本包含引号,这会导致生成带有语法错误的锚标记。

解决这个问题的最佳方法是什么?是否有任何函数可以将文本解析为安全字符串,在这种情况下,用于 title 属性。

否则我可以检查字符串并去掉所有引号,但我想知道是否有更好的方法来做到这一点,例如可能有一些其他字符也会使我的函数崩溃。

【问题讨论】:

    标签: c# asp.net html string-formatting


    【解决方案1】:

    实际上你想使用HttpUtility.HtmlAttributeEncode 来编码你的title 属性。其他编码器会做更多的工作(并且有不同的用途),而这个只转义 "、& 和

    示例: This is a <"test"> & something else. 变为 This is a <"Test"> & something else.

    【讨论】:

    • 我正在使用我构建的自定义函数来生成我的锚标记。库中是否有我可以使用的函数,这可能是一种更好、更安全的方法。谢谢
    • 这取决于复杂性,您可以使用HtmlTextWriter 类来生成有效的HTML。但是对于简单的东西来说它很重......我只在渲染复杂的控件等时使用它。如果您使用HtmlTextWriter 方法,您可以使用StringBuilder 对象在内存中生成它,将其包装在TextWriter 对象中,然后让HtmlTextWriter 写入该对象 - 并通过@987654329 获取HTML @ 方法。此外,如果您使用HtmlTextWriter 方法,请务必在呈现开始标记之前添加属性。 (手工做可能更简单):)
    • 感谢您的信息,我想在这种情况下最好手动完成,干杯
    • Chrome 会在悬停时显示这是一个<"测试">
    猜你喜欢
    • 2013-06-29
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多