我希望最终用户在我的ASP.NET MVC应用程序的文本区域中键入文本而不进行任何格式化。但是,我希望保留在输入文本时创建的任何换行符或段落。
如果我在不允许HTML输入的情况下使用textarea,默认情况下,当此文本保存到数据库或读回以显示在用户界面上时,不会保留换行符和段落。
如果我AllowHTML
,我冒着代码注入的风险。
我能想到实现此目的的另一种方法是不 AllowHTML
,而是拥有一个自定义属性,该检查仅允许<p>
代码和{{1} }然后为了实现它,看似简单,我将不得不维护一个所有可能的HTML标签的字典,并且由于Web的性质如此不稳定,上帝知道CSS或其他什么语法标记。
我是否过度复杂化了这个问题?是否有开箱即用的东西,或者有更简单的方法来实现它?
我正在使用面向ASP.NET 4.5的ASP.NET MVC 5.2.3。
答案 0 :(得分:1)
textarea
将换行符保留为\n
个字符。当在texttarea元素之外显示值作为页面的一部分时,'\n'
字符需要替换为'<br />'
。