ASP.NET MVC处理*#%“:?<> URL中的字符?

时间:2009-07-11 08:13:14

标签: asp.net url encoding

我是ASP.NET MVC的新手。我在URL中使用这些字符时出现错误 - *#%":?<>

我的问题是 - ASP.NET MVC是否处理了URL中的*#%":?<>个字符?

5 个答案:

答案 0 :(得分:1)

RFC 1738

  因此,只有字母数字,特殊   字符“$-_.+!*'(),”,并保留   用于保留的字符   目的可能是未编码的   一个URL。

在您列出的字符中,只有*“和 - 理论上可以使用未编码的。实际上,许多网站会对您列出的所有字符进行编码。

答案 1 :(得分:1)

不,即使您对它们进行编码,它也不起作用。

这是ASP.NET中的一个愚蠢限制。

它们确实在查询字符串部分工作,而不是路径部分。

答案 2 :(得分:0)

看看this.。虽然它没有解决问题,但至少你知道你并不孤单:)

答案 3 :(得分:0)

请看这里:http://www.w3schools.com/TAGS/ref_urlencode.asp

如果你想将字符转换为普通字符,你必须对它们进行编码,因为它们在网址中有意义。

答案 4 :(得分:0)

使用url参数编码。 示例:

javascript - window.location = 'path?parameter=' + encodeURIComponent(value);

Razor - @Url.Action("Action", new { parameter=Uri.EscapeUriString(@value) })"