2011-09-19 18 views
12

Tengo el siguiente header de ASP.Net MVC página:ValidateRequest en la sintaxis Razor

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

Necesito mover esta página a la sintaxis Razor. ¿Cómo debo configurar ValidateRequest? Gracias

Respuesta

14

No debería necesitar esa línea en la vista, en su lugar use el atributo ValidateInput(false) en el método del controlador.

Asegúrese de que usted tiene esto en su web.config si está usando ASP .NET 4.0 (que supongo que usted es si usted está utilizando MVC 3)

<httpRuntime requestValidationMode="2.0"/> 

Martin

+4

FYI - MVC 3 no requiere que el bandera más. En general, se recomienda que no pongas eso en config si puedes evitarlo. – Levi

24

Adorne su método de acción con ValidateInput atributo

[HttpPost] 
[ValidateInput(false)] 
public ActionResult index() 
{ 
    return view(); 
} 
+0

Esto es exactamente lo que necesitaba, ¡gracias! – Gromer

+0

¡Gran respuesta! Gracias. +100;) –

2

de MVC 4 podemos permitir que el contenido html solamente sobre propiedad de la clase del modelo, no para todo el pedido. Sólo hay que marcar la propiedad por atributos AllowHtml

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