MVC 2.0 .net中的ValidateRequest = false

时间:2010-12-07 21:38:18

标签: .net asp.net-mvc model-view-controller

我想在ASP.NET MVC 2.0中的特定视图上禁用RequestValidation。所以我添加了一些必要的内容来查看Page指令部分,如下所示:

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

但仍然没有。

甚至尝试在Web中添加它.Config:

<httpRuntime requestValidationMode="2.0" />

3 个答案:

答案 0 :(得分:3)

您是否还在操作中添加了[ValidateInput(false)]属性?

答案 1 :(得分:0)

我使用了这种方法,因为这是我发现它的唯一方法。

我用无效字符替换了无效字符。

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

答案 2 :(得分:0)

为什么不为您回发的对象创建一个viewmodel。 您可以使用正则表达式来预先传播非法字符,例如&lt;和&gt;

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; 
     }
}