【发布时间】:2013-08-19 06:11:18
【问题描述】:
我在使用 GET 参数和 ASP.NET 时遇到问题。我有一个参数,其值包含非 ASCII 字符 ("Físico")。当 ASP.NET 生成表单时,它会将操作设置为
<form method="post" action="SomePage.aspx?query=F%u00edsico">
该字符串似乎没有被 ASP.NET 正确编码。这会导致 jQuery UI(“格式错误的 URI”)出现问题。我错过了什么吗?浏览器不应该正确编码 URL,ASP.NET 在生成表单时不应该正确编码吗?
【问题讨论】:
-
显示你用来生成表单动作的代码。
-
我不生成表单的动作,我只是链接到 SomePage.aspx?query=Físico。 ASP.NET 然后生成它的表单(像往常一样)。
-
知道了,可以复制问题。
-
我为此提交了一个针对 ASP.NET 的错误。对我们的古怪行为感到抱歉。 :( 作为一种解决方法,您可以从 Page_Load() 设置 Form.Action = Request.RawUrl;。这是 Hanlet 解决方案的一种稍微简单的形式。
-
您能否将
query参数放在隐藏输入中,以避免查询编码不正确?
标签: asp.net jquery-ui unicode get webforms