在我的asp.net mvc的网页我创建呈现为一个链接:为什么这个查询字符串无效?
http://localhost:3035/Formula/OverView?colorId=349405&paintCode=744&name=BRILLANT%20SILVER&formulaId=570230
根据W3C验证,这是不正确的第一符号之后,它的错误。它抱怨的&不被编码,并且该实体& p无法识别等
AFAIK的&不应被编码,因为它是为关键值对的隔板。
对于那些关心:我发送这些语法作为查询字符串,而不是“/”分离的值,因为没有体面的方式传递我知道的可选参数。
把所有的位一起:
- 锚(<一>)标记的href属性需要的编码值
- &编码到&安培;
- 编码的“&”当它是你的参数值的一部分,使用26%
岂不编码符号为&使我的参数值的一部分? 我需要它分开第一个变量
事实上,通过编码我的href值,我摆脱了错误。然而,我现在想知道的是,如果我的colorId是“123 & 456”,那么&符号就是值的一部分。 由于必须对分隔符进行编码,因此如何处理编码的&符号。他们需要两次编码才能说话吗?
因此,要获得的网址:
www.mySite.com/search?query=123&456&page=1
我应该我href的值是什么?
另外,我觉得我对第一人在世界上关心这个..去检查www和计算得到他们的查询字符串在W3C验证验证页面..
你需要在所有的HTML文档每一个实体(也有一些例外,比如里面的脚本标记)进行编码。将doctype设置为XHTML不会导致他的页面进行验证。 – Illandril 2008-11-19 19:21:50
我并不是说要将doctype改为XHTML就可以修复它,但是,正如你所说的,属性中的实体应该被编码为所有的HTML变体,我改变了答案以反映这一点。 – 2008-11-19 19:40:46