【问题标题】:ValidateRequest = false in MVC 2.0 .netMVC 2.0 .net 中的 ValidateRequest = false
【发布时间】:2011-05-21 21:05:09
【问题描述】:

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

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

但还是不行。

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

<httpRuntime requestValidationMode="2.0" />

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      例如)strUrl = strUrl.Replace("&amp;", "-")

      【讨论】:

        【解决方案3】:

        为什么不为您回发的对象创建一个视图模型。 您可以使用正则表达式来防止非法字符,例如

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-11-13
          • 2012-08-25
          • 2011-12-08
          • 2012-04-30
          • 2011-05-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多