2009-10-30 10 views
20

Wurde die Anforderungsvalidierung für ASP.NET MVC 2 geändert, genauer gesagt nicht validiert?Anforderungsvalidierung - ASP.NET MVC 2

tat ich folgendes:

web.configs (in App-Verzeichnis und Ansichten Verzeichnis)

<pages 
    validateRequest="false" 

Controller/Aktion

Attribut
[ValidateInput(false)] 

In @Page Ansicht Richtlinie

ValidateRequest="false" 

Die Seite wird immer noch validiert, es wird eine Ausnahme ausgelöst, wenn HTML-Inhalt veröffentlicht wird.

UPDATE

eine neue ASP.NET MVC 2 Anwendung und ich geändert, um die Home Controller des Index zu dieser

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

     return View(); 
    } 

und meiner Ansicht Seite

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

Und immer noch das gleiche Problem Erstellt , eine Ausnahme wird ausgelöst.

Antwort

31

Ich soll den Fehler genauer nächstes Mal lesen:

Seiten zu ermöglichen, Anwendungsanforderung Validierungseinstellungen, Satz requestValidationMode = „2.0“ im Konfigurationsabschnitt außer Kraft zu setzen. Nach diesen Wert einstellen, können Sie dann Anforderungsüberprüfung deaktivieren, indem Einstellung validateRequest = "false"

Ich habe dies in der web.config der Anwendung

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

und es funktionierte.

Update:

ich ASP.NET 4, das ist ausgeführt, warum: P

+0

würde helfen zu sagen, wo genau in web.config Sie es setzen ... – mare

+2

Innerhalb der '' beginnen/beenden Tags – Omar

+0

dies hat nicht funktioniert für mich, ich musste die Attribute für MVC2 RTM –

2

Geben Sie hier eine obligatorische Warnung über XSS ein.

, dass Sie den Controller (oder Aktion) mit den ValidateInputAttribute verziert genug sein sollten, da alle Validierung auf dieser Controller-Ebene in ASP.NET MVC

Ich habe gerade diese auf einer Aktion jetzt versucht, durchgeführt wird, und es gibt einen netten, bösen Alarm() zurück, wenn ich es ausgäbe, also wage ich zu vermuten, dass hier noch etwas anderes vor sich geht.

Haben Sie eine HandleErrorAttribute irgendwo eingerichtet?

+0

ich eine benutzerdefinierte implementiert viewpage Sie bei http://stackoverflow.com/questions/1480373/generic-inhertied-viewpage sehen -und-new-property, um festzustellen, ob irgendetwas die Validierung mit ASP.NET MVC 2 verursacht. – Omar

+0

Kein HandleError-Attribut. – Omar