【发布时间】:2012-01-12 00:34:10
【问题描述】:
在 ASP.NET MVC 中调试时,我看不出两者之间的区别:
http://mysite.com?q=hi,bye
和
http://mysite.com?q=hi%2Cbye
查询字符串参数“q”的值始终为“hi,bye”。
那么为什么要对逗号进行编码呢?
我想做这样的事情https://stackoverflow.com/a/752109/173957。
我有这个表格:
<form method="GET" action="/Search">
<input type="hidden" name="q" value="hi,bye"/>
<input type="submit" value="ok"/>
</form>
如何防止这个值被编码?
【问题讨论】:
-
为什么要防止它被编码? ASP.NET 会自动为你解码,有什么问题呢?
-
我猜 ?q=hi,bye 比 ?q=hi%2Cbye 更具可读性。另外,我大多只是好奇。
-
几年前,我在我的查询字符串值中明确使用了一个逗号,原因是它未编码,因此在地址栏。遗憾的是,一些库/浏览器现在对其进行了编码。
标签: asp.net-mvc forms query-string urlencode