Internet Explorer不对url参数进行编码

时间:2012-04-12 15:26:24

标签: c# asp.net windows-7 internet-explorer-9

目前正在开发有时需要特定网址参数的网络应用。例如,我在URL栏中输入此参数:

...Page.aspx?user=chantal.côté

Firefox和Chrome会自动对网址进行编码,如下所示:

...Page.aspx?user=chantal.c%C3%B4t%C3%A9

但Internet Explorer不会自动编码URL,因此我收到此符号的错误(调试时)。当我输入...Page.aspx?user=chantal.c%C3%B4t%C3%A9时,一切运作良好,但我不想这样做!

我是否需要明确告诉Internet Explorer对URL进行编码?

3 个答案:

答案 0 :(得分:2)

据推测,您的网络应用无法让用户手动在浏览器中输入查询字符串。尝试创建测试HTML页面并在其中包含以下内容:

<a href="http://whatever.com?user=chantal.côté">link</a>

在IE中打开此测试页,然后单击该链接。查询字符串中的字符将被正确编码。看来,当您手动将内容放入地址栏时,IE不会为您进行URL编码,但希望这一事实与您的应用程序无关。

答案 1 :(得分:1)

使用

HttpUtility.UrlEncode(string)

答案 2 :(得分:0)