我在我的视图中有以下代码:
<%= Html.ActionLink(
"View item",
"Index",
"Items",
new
{
itemName = Model.ItemName
},
null) %>
当商品名称包含井号(#)或百分号(%)时,我遇到了问题。
当商品名称是
"name#with#sharp#"
时,控制器仅接收名称的第一部分直到第一个井号(只接收"name"
)。当商品名称是
"name%with%percent"
时,我会收到错误信息:HTTP错误400 - 错误请求。
我不确定这是否是URL编码的问题,因为它可以处理其他有冲突字符的情况,例如:
;
=
+
,
~
[blank]
你知道我该如何解决这个问题吗?
提前感谢。
http://localhost/AspNetMvc2/Items?itemName=name%25with%25percent
,并且没有错误。同样,使用#
符号的例子会产生这个:http://localhost:55386/Items?itemName=name%23with%23sharp%23
。 - Jeff Ogata