asp.net mvc 在表单中输入html标记

今天遇到一个需要在表单的textArea里写html的情况,不料有异常了。因为在asp.net设计时,出于安全考虑,默认是不允许用户自行在文本框里写html和javascript标记的。

页面错误提示说去http://msdn.microsoft.com/zh-cn/library/hh882339.aspx。可是,不幸发生了,我这个不太懂英文的人遇到了这往篇只有英文的文档。没辙,词典打开。

问题解决了:

方法一: 在绑定到view的model里的属性字段上加上特性[AllowHtml]:如

[Required]

[AllowHtml]

public string content{get;set;}

方法二:

在表单回传的action头上加上[ValidateInput(false)]

如:

[ValidateInput(false)]

public ActionResult AddPost(Models.PostTopic post)

{

  return View();

}

当然还有别的方法,但这应该那够满足了。如果是在asp.net webform里,可在config里设置(有两处):

1:<system.web>
  <httpRuntime requestValidationMode="2.0" />
</system.web>

2:<configuration>
  <system.web>
    <pages validateRequest="false" />
  </system.web>
</configuration>

可在根据上面的MSDN网址自行查看更详细的说明。

原文地址:https://www.cnblogs.com/yingheyiwai/p/3120084.html