2010-10-25 2 views
0

ValidateInputAttribute, ValidateInput, httpRuntime requestValidationMode = "2.0" dans web.config (system.web) ne corrigent pas, ainsi que "ValidateRequest =" false " " à mon avis. J'utilise MVC 2, Visual Studio 2010, .NET 4.0, et je reçois toujours l'erreur suivante:Erreur «Request.Form ... potentiellement dangereuse» dans MVC 2.0

A potentially dangerous Request.Form value was detected from the client (Body="<p>test</p>"). 

est avec CKEditor. J'ai déjà regardé MVC2 application with Ckeditor "potentially dangerous Request.Form, mais cela pourrait être vieux.

S'il vous plaît aider !! Merci.

MISE À JOUR:

Soooo .... s'avère que vous devez modifier le web.config racine, et non les web.config qui se trouve dans votre dossier Views. douce pitié. Merci tout le monde!

+0

ps. web config ressemble à ceci: http://img189.imageshack.us/img189/2082/webconfig.png –

Répondre

1

J'ai trouvé que vous avez besoin d'aller à l'action du contrôleur qui est RECEVOIR les données post de la forme améliorée CKEditor et sur cette action ajoutez l'attribut comme ceci:

[ValidateInput(false)] 
public ActionResult UpdateText(string HtmlText) 
{ 
    Repository.Save(HtmlText); 

    ... 

    return View(); 
} 
+0

déjà fait cela, en vain: / –

0

Vous pouvez passer outre OnError événement (qui est tiré sur cette erreur) dans votre site aspx.cs et il gérer cette erreur

Mise à jour:

protected override void OnError(EventArgs e) 
    { 
     base.OnError (e); 
    } 

Je nai que testé, mais en laissant cette méthode vide (il suffit de supprimer: base.OnError (e), avant de copier-coller dans votre code) pourrait résoudre votre problème.

+0

comment est-ce que je ferais ceci ..? merci pour votre réponse, soit dit en passant. –

+0

voir la mise à jour de ma réponse - mais je n'ai pas testé cela. Tout ce dont je suis sûr, c'est que l'événement OnError est déclenché quand il gère "potentailly dangereux ...." – Katalonis

+0

voir mise à jour à mon message original ... Je suis un idiot;) –

1

au système. section Web de votre web.config ajouter cette -

<httpRuntime requestValidationMode="2.0"/> 

Et utiliser

[ValidateInput(false)] 

Sur l'action Méthode

Questions connexes