首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >允许用户在MVC - ValidateInput或AllowHtml中输入ASP.NET

允许用户在MVC - ValidateInput或AllowHtml中输入ASP.NET
EN

Stack Overflow用户
提问于 2010-09-02 03:04:35
回答 8查看 112.6K关注 0票数 122

如何允许用户使用ASP.net MVC在特定字段中输入超文本标记语言。

我有一个很长的表单,其中有许多字段映射到控制器中的这个复杂对象。

我想让一个字段(描述)允许HTML,我将在稍后的时候对其执行我自己的卫生措施。

EN

回答 8

Stack Overflow用户

发布于 2012-07-30 20:17:20

那么属性上面的[AllowHtml]属性呢?

票数 131
EN

Stack Overflow用户

发布于 2013-03-25 05:05:23

添加到模型:

using System.Web.Mvc;

和你的财产

        [AllowHtml]
        [Display(Name = "Body")]
        public String Body { get; set; }

从我的观点来看,这段代码是避免这个错误的最好方法。如果你使用的是HTML编辑器,你就不会有安全问题,因为它已经被限制了。

票数 42
EN

Stack Overflow用户

发布于 2015-05-07 06:19:03

在特定属性上添加[AllowHtml]是推荐的解决方案,因为有大量的博客和评论建议降低安全级别,这应该是不可接受的。

通过添加这一点,MVC框架将允许命中控制器并执行控制器中的代码。

但是,这取决于您的代码、过滤器等,响应是如何生成的,以及是否有任何可能触发另一个类似错误的进一步验证。

在任何情况下,添加[AllowHtml]属性都是正确的答案,因为它允许在控制器中反序列化html。视图模型中的示例:

[AllowHtml]
public string MessageWithHtml {get; set;}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3621272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档