2011-09-19 6 views
12

Je donne les résultats suivants header de ASP.Net MVC page:ValidateRequest dans la syntaxe Razor

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Admin.Master" Inherits="System.Web.Mvc.ViewPage<NEOGOV_Ideas.Models.SubIdeaAdminPage>" 
ValidateRequest="false" %> 

J'ai besoin de déplacer cette page à la syntaxe Razor. Comment dois-je définir ValidateRequest? Merci

Répondre

14

Vous ne devriez pas avoir besoin de cette ligne dans la vue, utilisez plutôt l'attribut ValidateInput(false) sur la méthode du contrôleur.

Assurez-vous que vous avez dans votre web.config si vous utilisez ASP .NET 4.0 (que je suppose que vous êtes si vous utilisez MVC 3)

<httpRuntime requestValidationMode="2.0"/> 

Martin

+4

FYI - MVC 3 ne nécessite plus l'indicateur . Il est généralement recommandé de ne pas mettre cela dans la configuration si vous pouvez l'éviter. – Levi

24

Décorez votre méthode d'action avec ValidateInput attribut

[HttpPost] 
[ValidateInput(false)] 
public ActionResult index() 
{ 
    return view(); 
} 
+0

C'est exactement ce dont j'avais besoin, merci! – Gromer

+0

Bonne réponse! Merci. +100;) –

2

de MVC 4, nous pouvons autoriser le contenu html seulement pour propriété de classe modèle, et non pour la demande entière. Juste besoin de marquer la propriété par l'attribut AllowHtml

public class EditorialPixlocateRequestViewModel 
{ 
    [AllowHtml] 
    public string Xml { get; set; } 
} 
Questions connexes