我只想知道如何在ASP中验证(或清除)用户输入.NET MVC,这样无论提交的值是什么,都不会抛出HttpRequestValidationException.例如,对于文本输入,如果用户输入<BR/>,将导致异常,并显示死亡的黄色屏幕.我不想那样.我希望捕获异常,并在当前视图中显示一个用户友好的错误,最好是在加载了相同值的控件时.

我找到了这http://www.romsteady.net/blog/2007/06/how-to-catch-httprequestvalidationexcep.html块,但对我来说没用.另外,我找到了这个http://msdn.microsoft.com/en-us/library/aa973813.aspx,试着把它放进一个模型活页夹里,但我没法工作.

推荐答案

使用最新版本的ASP.NET MVC( compose 本文时的RC)您可以在控制器类或操作方法上添加一个属性,例如:

[ValidateInput(false)]
public ActionResult create()
{
    // ...method body
}

ValidateInputAttribute在系统中.网状物Mvc.

但正如其他人所说,您必须执行自己的手动输入验证或清理.

使用MVC 3,您还必须确保它在您的Web中.配置:<system.web><httpRuntime requestValidationMode="2.0" /></system.web>

Asp.net相关问答推荐

ASP.NET MVC项目中的产品采购并发性测试

Razor中的共享本地化资源文件

Azure DevOps 构建管道正在发布旧的/缓存的构建工件

如何在 C#/MVC 4 中的 Html.TextBoxFor 中输入占位符文本

在 Web.Config 中模拟标签

创建项目 ASP.NET Core (.NET Core) 和 ASP.NET Core (.NET Framework) 有什么区别

使用 C# 和 ASP.NET 从 Gmail/Hotmail/Yahoo 导入通讯簿

如何在不使用 Session 的情况下在 ASP.net 中的页面之间传递值

使用 Lucene.NET 索引 .PDF、.XLS、.DOC、.PPT

可空日期时间转换

为应用程序池Classic .NET AppPool提供服务的进程与 Windows 进程激活服务发生了致命的通信错误

与 Twitter Bootstrap Bundle 的 ASP.NET MVC4

发布网站项目时临时路径太长

ASP.NET MVC 2.0 JsonRequestBehavior 全局设置

通过 ASP.NET/C# 使用 Plupload

如何在我自己的方法中模仿 string.Format()?

.NET 4.0 中的自定义 MembershipProvider

脚本管理器控制实际上是做什么的?

IIS - 无法通过 ip 地址而不是 localhost 访问页面

禁用文本框的模型绑定