2009-10-30 26 views
20

¿Ha cambiado la validación de solicitud para ASP.NET MVC 2, más precisamente, no validación?Solicitar validación - ASP.NET MVC 2

hice lo siguiente:

Web.configs (en la aplicación del directorio y el directorio Vistas)

<pages 
    validateRequest="false" 

Controlador/atributo action

[ValidateInput(false)] 

En @Page Vista la Directiva

ValidateRequest="false" 

La página aún se valida. Se genera una excepción cuando se publica contenido HTML.

ACTUALIZACIÓN

creado una nueva aplicación ASP.NET MVC 2 y he modificado Índice de Controlador de Inicio a esta

[ValidateInput(false)] 
    public ActionResult Index(string InputText) 
    { 
     ViewData["Message"] = "Welcome to ASP.NET MVC!"; 

     return View(); 
    } 

y mi Ver página

<% using(Html.BeginForm()){ %> 
    <%= Html.TextBox("InputText") %> 
    <input type="submit" /> 
<% } %> 

Y siendo el mismo tema , se lanza una excepción.

Respuesta

31

que debería leer el error con más cuidado la próxima vez:

Para permitir que las páginas para anular la configuración de validación de solicitud de aplicación, conjunto requestValidationMode = "2.0" en la sección de configuración. Después de ajustar este valor, a continuación, puede deshabilitar la validación de solicitud de establecimiento de validateRequest = "false"

que poner esto en web.config de la aplicación

<system.web> 
    <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" /> 
</system.web> 

y funcionó.

Actualización:

estaba corriendo ASP.NET 4 es por eso: P

+0

ayudaría a decir dónde exactamente en web.config lo pones ... – mare

+2

Dentro de '' etiquetas de inicio/finalización – Omar

+0

esto no funcionó para mí, tuve que usar los atributos para MVC2 RTM –

2

Inserte la advertencia obligatoria sobre XSS aquí.

Que decorado el controlador (o acción) con el ValidateInputAttribute debería ser suficiente, ya que toda la validación se realiza a este nivel en el controlador de ASP.NET MVC

yo sólo he probado esto ahora en una acción, y devuelve una alerta agradable y malévola() cuando la publico, así que me aventuraría a adivinar que aquí está pasando algo más.

¿Tiene un HandleErrorAttribute establecido en cualquier lugar?

+0

he implementado una costumbre ViewPage se puede ver en http://stackoverflow.com/questions/1480373/generic-inhertied-viewpage -y-new-property, para ver si algo está haciendo que valide con ASP.NET MVC 2 – Omar

+0

Sin atributo HandleError también. – Omar

Cuestiones relacionadas