C# “的格式/安全字符串”;标题「;锚定属性

C# “的格式/安全字符串”;标题「;锚定属性,c#,asp.net,html,string-formatting,C#,Asp.net,Html,String Formatting,我有一个构建锚定标记的函数。函数接收URL、标题作为参数。问题是,有时文本包含引号,这会导致生成带有语法错误的锚标记 解决这个问题的最好办法是什么?是否有任何函数可以将文本解析为title属性的安全字符串(在本例中) 否则,我可以检查字符串并去掉所有引号,但我想知道是否有更好的方法来执行此操作,例如,可能还有其他一些字符也会使我的函数崩溃。实际上,您希望使用这些字符对标题属性进行编码。其他编码器将做更多的工作(并有不同的用途),而这个编码器只转义“,&,&;另外。我正在使用我构建的自定义函

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

解决这个问题的最好办法是什么?是否有任何函数可以将文本解析为title属性的安全字符串(在本例中)

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

实际上,您希望使用这些字符对标题属性进行编码。其他编码器将做更多的工作(并有不同的用途),而这个编码器只转义“,&,<以生成属性的有效文本

例如:
这是一个&其他什么。
变成了
这是一个“测试”“>&;另外。

我正在使用我构建的自定义函数来生成锚定标记。库中是否有我可以使用的函数,这可能是一种更好、更安全的方法。感谢这取决于复杂性,您可以使用
htmltexwriter
类生成有效的HTML。不过,对于简单的东西来说,它很重。。。我只在渲染复杂控件等时使用它。如果使用
HtmlTextWriter
方法,可以使用
StringBuilder
对象在内存中生成它,将其包装在
TextWriter
对象中,然后让
HtmlTextWriter
写入该对象,并通过
StringBuilder.ToString()
方法获取HTML。另外,如果使用
HtmlTextWriter
方法,请确保在呈现开始标记之前添加属性。(手工操作可能更简单):)感谢您提供的信息,我想在这种情况下最好是手工操作,cheersChrome在悬停时显示这是一个“测试”>