Razor语法中的ValidateRequest

时间:2011-09-19 09:33:42

标签: asp.net-mvc-3 razor

我有以下header ASP.Net MVC页面:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Admin.Master" Inherits="System.Web.Mvc.ViewPage<NEOGOV_Ideas.Models.SubIdeaAdminPage>"
ValidateRequest="false" %>

我需要将此页面移至Razor语法。我该如何设置ValidateRequest? 感谢

3 个答案:

答案 0 :(得分:24)

使用ValidateInput属性

装饰您的操作方法
[HttpPost]
[ValidateInput(false)]
public ActionResult index()
{
    return view();
}

答案 1 :(得分:14)

您不应该在视图中使用该行,而是使用控制器方法上的ValidateInput(false)属性。

如果您使用的是ASP .net 4.0(如果您使用的是MVC 3,我认为您就是这样),请确保您的web.config中已有此功能。

<httpRuntime requestValidationMode="2.0"/>

马丁

答案 2 :(得分:2)

从MVC 4我们可以只允许html内容用于模型类的属性,而不是整个请求。只需要通过属性AllowHtml标记属性

public class EditorialPixlocateRequestViewModel
{
    [AllowHtml]
    public string Xml { get; set; }
}