1

我需要将带有非 url 安全字符的字符串(示例包括 '、"、& 和西班牙语/法语/德语中的重音字母)转换为可用作 URL 中的锚点的格式

例如 www.site.com#锚点

我已经尝试过 HttpUtility.HtmlAttributeEncode(s) 和 HttpUtility.UrlEncode(s) - 它们按计费方式工作,但它们不会产生实际正常工作的锚字符串(在 Firefox 中测试)

目前我正在替换有问题的字符以使其正常工作,但我认为必须有一种更通用的方法可以用于此目的。

4

1 回答 1

2

你会同时使用两者。首先对锚点进行编码,使其在 URL 中起作用,然后对整个 URL 进行编码,使其在 HTML 属性中起作用:

HttpUtility.HtmlAttributeEncode("http://www.site.com#" + HttpUtility.UrlEncode(s))
于 2012-07-12T11:14:31.467 回答