将%3F解码为'?'在使用UriBuilder的URL中

时间:2013-08-09 14:11:41

标签: c# http asp.net-mvc-4 uribuilder

我正在构建一个url并使用它指向我的一个控制器来做一些工作。当我通过具有%3F的url而不是?

时,我收到此错误
A potentially dangerous Request.Path value was detected from the client (?).

UriBuilder生成的Url如下所示:

http://mywebsite.com:7606/DoWork/DoChanges%3FEmployeeRequestId=17&ExtNumber=6340&ChangeOrderId=26&Operation=2&TargetExt=4357&Index=2

当我将%3F更改为?在“DoChanges”之后它运行良好,但是当它的%3F时它不喜欢它。我怎么解码这个?我需要参数可见,以便服务台可以在需要时读取链接。所以我不想对整个事情进行编码。

1 个答案:

答案 0 :(得分:1)

我不能在评论中发帖,所以我会在这里写。 您可以找到答案的解决方案here

引自here,你只需要在配置文件中使用这些设置

<system.web>
    <httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
    <pages validateRequest="false" />
</system.web>