2011-03-17 15 views
12

Estoy usando el complemento jquery.cleditor.js para el editor html en mi aplicación mvc y está funcionando bien. Ahora quiero publicar el valor editor para controlador de acción, pero aquí estoy recibiendo la siguiente excepción:Publicar datos desde el editor html a la acción del controlador en MVC

A potentially dangerous Request.Form value was detected from the client 
    (NewContentPage.PageContents="<STRONG>dafs </STRON..."). 

Si alguien tiene idea entonces, por favor me guía para hacer esto.

+0

qué versión de: IIS, .NET Framework, ASP.NET MVC está usando? – Jon

+0

4.0 .NET Framework con mvc 2 y probando esto en mi máquina local – munish

+0

Jon, encontré la solución: agregue en la etiqueta system.web en el archivo web.config y agregue [ValidateInput (false)] en el método de acción del controlador – munish

Respuesta

23

Si agrega el atributo ValidateInput con false, le permitirá enviar HTML. Sólo ten en cuenta que está girando de validación para todas las propiedades en el modelo de vista

[HttpPost, ValidateInput(false)] 
public ActionResult DoStuff(MyViewModel viewModel) 
{ 
    //... 
} 

Si está utilizando .NET 4 también tendrá que establecer <httpRuntime requestValidationMode="2.0" /> en su archivo web.config.


Si está utilizando MVC 3 que no tiene que añadir el atributo ValidateInput a la acción del controlador puede agregar AllowHtml atributo a la propiedad en el modelo de vista.

public class MyViewModel 
{ 
    public string prop1 { get; set; } 

    [AllowHtml] 
    public string prop2 { get; set; } 
} 

Esto permite HTML para prop2 pero se validó el resto de la MyViewModel.

+2

+1 para 'AllowHtml' – Askolein

Cuestiones relacionadas