132 votos

ValidateRequest = "false" ' trabajar en Asp.Net 4

Hola tengo un formulario en el cual usar ckeditor. Esta forma funcionaba bien pero ahora no funciona en Asp.Net 4. ¿Alguna sugerencia? Tengo ValidateRequest = "false" Directiva.

168voto

Hasan Gürsoy Puntos 3682

Encontrar solución en la página de error :) Sólo quería añadir requestValidationMode = "2.0"

<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpRuntime requestValidationMode="2.0" />
</system.web>

Información de MSDN: Propiedad de HttpRuntimeSection.RequestValidationMode

77voto

RandomBen Puntos 4012

Hay una manera de convertir la validación a 2.0 para una sola página. Sólo tiene que añadir el siguiente código a tu web.config:

<location path="XX/YY">
    <system.web>
        <httpRuntime requestValidationMode="2.0" />
    </system.web>
</location>

40voto

Tom Chantler Puntos 8266

Esto es una vieja pregunta, pero si se encuentra con este problema en el MVC 3 Entonces puedes decorar tu ActionMethod con [ValidateInput(false)] y solo apague la validación de solicitud por una sola ActionMethod , que es útil. Y no necesitas realizar cambios a la web.config de archivo, así que usted puede todavía utilizar la validación de solicitud de .NET 4 por todas partes.

por ejemplo

[ValidateInput(false)]
public ActionMethod Edit(int id, string value)
{
    // Do your own checking of value since it could contain XSS stuff!
    return View();
}

19voto

Szymon Sasin Puntos 418

Solución que he encontrado trabajos sin cambiar el modo de validación.

Tienes que usar un ayudante de System.Web.Helpers.Validation.Unvalidated de System.Web.WebPages.dll. Va a devolver un objeto UnvalidatedRequestValues que permite para acceder a un formulario y consulta una cadena sin validación.

Obras para mí para MVC3 y .NET 4.

Saludos, Szymon

13voto

Jon Hanna Puntos 40291

Tenga en cuenta que otro enfoque es mantener con el comportamiento de 4.0 validación, sino para definir su propia clase que se deriva de RequestValidator y establezca:

<httpRuntime requestValidationType="YourNamespace.YourValidator" />

(donde YourNamespace.YourValidator es bueno, usted debe ser capaz de adivinar...)

Aquí tienes las ventajas de comportamiento 4.0s (específicamente, que la validación ocurre temprano en el proceso), mientras que también permite las peticiones que necesitas deja pasar, a través.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: