2010-12-07 12 views
2

Je souhaite désactiver RequestValidation sur une vue particulière dans ASP.NET MVC 2.0. J'ai donc ajouté quelques nécessaires pour voir la section de la directive Page comme ci-dessous:ValidateRequest = false dans MVC 2.0 .net

<%@ Page ValidateRequest="false" Language="C#" MasterPageFile="Path" Inherits="System.Web.Mvc.ViewPage<Path>" %> 

mais toujours pas aller.

Même essayé d'ajouter ceci dans le web.config:

<httpRuntime requestValidationMode="2.0" /> 

Répondre

3

Avez-vous aussi ajouter [ValidateInput(false)] attribut sur l'action?

+0

@Oman, eh oui essayé de donner aussi et toujours l'erreur. – RPS

+0

Une erreur s'affiche-t-elle lorsque vous essayez de publier du code HTML? – Omar

+0

lorsque je clique sur un lien dans la page qui a un point d'interrogation: – RPS

0

J'ai utilisé cette méthode, car c'est la seule façon de le faire fonctionner.

J'ai remplacé le caractère invalide par un valide.

Ex) strUrl = strUrl.Replace("&", "-")

0

Pourquoi ne pas créer un viewmodel pour votre objet que vous publiez en arrière. Vous pouvez utiliser des expressions régulières pour empêchez caractères illégaux, comme < et>

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations; 

namespace Web.Models.ViewModels 
{ 
    public class Account 
    { 
     public Guid Id { get; set; } 

     [Required(ErrorMessage = "You have to enter this")] 
     [StringLength(100, ErrorMessage = "Too much text")] 
     [RegularExpression(@"^([a-zA-Z0-9_\-\.\s]+)", ErrorMessage = "Not allowed")] 
     public string Firstname { get; set; 
    } 
}