在我的 asp.net mvc 页面中,我创建了一个呈现如下的链接:
http://localhost:3035/Formula/OverView?colorId=349405&paintCode=744&name=BRILLANT%20SILVER&formulaId=570230
根据 W3C 验证器的说法,这是不正确的,并且在第一个 & 号之后会出错。它抱怨 & 未被编码和实体 &p 未被识别等。
AFAIK & 不应该被编码,因为它是键值对的分隔符。
对于那些关心的人:我将这些 pars 作为查询字符串而不是“/”分隔值发送,因为没有像我所知的传递可选参数的好方法。
将所有位放在一起:
- 锚 (<a>) 标签的 href 属性需要一个编码值
- & 编码为 &
- 当它是参数值的一部分时对“&”进行编码,请使用 %26
不会将 & 符号编码为 & 使其成为我参数值的一部分吗?我需要它将第二个变量与第一个变量分开
事实上,通过编码我的 href 值,我确实摆脱了错误。但是,我现在想知道的是,例如,如果我的 colorId 是“123&456”,其中的 & 符号是值的一部分,该怎么办。由于必须对分隔符进行编码,因此如何处理已编码的 & 符号。可以这么说,它们是否需要被编码两次?
所以要获取网址:
www.mySite.com/search?query=123&456&page=1
我的 href 值应该是多少?
另外,我想我是世界上第一个关心这个的人..去检查 www 并计算在 W3C 验证器中验证了他们的查询字符串的页面..