如何在ASP.NET MVC应用程序中允许选择性HTML输入?

时间:2016-01-29 10:35:31

标签: asp.net .net asp.net-mvc asp.net-mvc-5.2

我希望最终用户在我的ASP.NET MVC应用程序的文本区域中键入文本而不进行任何格式化。但是,我希望保留在输入文本时创建的任何换行符或段落。

如果我在不允许HTML输入的情况下使用textarea,默认情况下,当此文本保存到数据库或读回以显示在用户界面上时,不会保留换行符和段落。

如果我AllowHTML,我冒着代码注入的风险。

我能想到实现此目的的另一种方法是 AllowHTML,而是拥有一个自定义属性,该检查仅允许<p>代码和{{1} }然后为了实现它,看似简单,我将不得不维护一个所有可能的HTML标签的字典,并且由于Web的性质如此不稳定,上帝知道CSS或其他什么语法标记。

我是否过度复杂化了这个问题?是否有开箱即用的东西,或者有更简单的方法来实现它?

我正在使用面向ASP.NET 4.5的ASP.NET MVC 5.2.3。

1 个答案:

答案 0 :(得分:1)

textarea将换行符保留为\n个字符。当在texttarea元素之外显示值作为页面的一部分时,'\n'字符需要替换为'<br />'