我有一个C#MVC3.Net Web应用程序。我有几个文本区域控件。它们包含从数据库填充的HTML字符串。一些文本区域控件是CkEditor,它们工作正常。它们有一个名为“htmlEncodeOutput”的属性。这样可以避免ASP.NET安全问题。当我导航到一个新页面时,标准的文本区域将显示为barfing。我相信这是由于嵌入了HTML。是否有一个用于文本区域的属性,我可以将其设置为对嵌入的HTML进行编码?
下面是抛出的错误:
A potentially dangerous Request.Form value was detected from the client (item.SowDescription="...; it sodas<br />
<strong><em>...").
最佳答案
我想出来了。在文本区域中,我对要呈现的属性使用HttpUtility.HtmlDecode。示例如下:
<textarea rows="3" cols="33" class="readonly"
readonly="readonly"
id = "@Id">
@HttpUtility.HtmlDecode(item.Description)
</textarea>