oje*_*jek 1 c# asp.net asp.net-mvc asp.net-mvc-4
首先,我知道有几十个类似于我的问题,但我没有找到任何能让我满意的解决方案......
所以,我在这段代码上得到了上述异常:
var returnUrl = Request.Params["returnUrl"] ?? Request.RawUrl;
Run Code Online (Sandbox Code Playgroud)
在我向我的网站提交帖子后,mvc开始准备响应页面,它在上面的代码中崩溃了.现在,这两个变量都不包含任何会导致此异常的代码.不知何故,MVC检测到我正在使用Request对象并抛出错误而不查看我在做什么.我不想禁用那些安全检查,但我不知道我还能做什么?
有同样的问题,只是找到了解决方案.当您从中访问发布的值时Request,将重新验证这些值,并且由于某种原因[AllowHtml]在此特定验证中被忽略(可能是在MVC 5中测试的错误).经过一番搜索,我偶然发现:
http://msdn.microsoft.com/en-us/library/hh882339(v=vs.110).aspx
在网页下面,在"ASP.NET MVC中禁用请求验证"一节中,它提到了Request.Unvalidated.此属性在绕过验证时返回请求对象,以便您可以在不调用验证的情况下获取特定参数.
所以不要使用Request.Params["returnUrl"],请使用 Request.Unvalidated["returnUrl"].