允许MVC中的编码字符获取

时间:2015-05-16 09:56:14

标签: asp.net-mvc escaping

我有一个MVC控制器,使用以下方法

    [HttpGet]
    public ActionResult Image(int image, string message)
    {

我希望这是一个GET,因为它是适用于我实施的方法的适当动词。

我想提供"这有用吗?"作为方法的参数。显然这不起作用:

http://localhost:55197/Controller/Image/3/Does%20this%20work?

问号被视为查询字符串的一部分并被删除。我已阅读this question,建议将问号编码为%3F,这对我来说很有意义(毕竟我们对空格进行编码)。但是,当我使用此查询字符串调用该方法时:

http://localhost:55197/Controller/Image/3/Does%20this%20work%3F

我得到了

  

从中检测到潜在危险的Request.Path值   客户(?)。

我已阅读this question,建议使用[AllowHtml]属性,但这只能在属性上使用(因此更适合POST请求。

如何传递像:

这样的字符串
  

这有用吗?

     

我想是的......

进入这种方法?

1 个答案:

答案 0 :(得分:1)

web.config 文件中尝试以下代码: -

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