【发布时间】:2026-01-10 00:00:02
【问题描述】:
我认为有以下代码:
<%= 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
标签: asp.net-mvc asp.net-mvc-2 urlencode