<%= Html.TextArea("text", "This is <b>Zeb</b>") %>
从上面的语句中,我期望将文本框中的字符串显示为:
这是泽布。
但我实际上得到的是
This is <b> Zeb </b>
我的字符串未正确编码。那么请有人告诉我问题出在哪里?
我从 Professional ASP.NET MVC 4 一书中读过它。它在第 100 页。
<%= Html.TextArea("text", "This is <b>Zeb</b>") %>
从上面的语句中,我期望将文本框中的字符串显示为:
这是泽布。
但我实际上得到的是
This is <b> Zeb </b>
我的字符串未正确编码。那么请有人告诉我问题出在哪里?
我从 Professional ASP.NET MVC 4 一书中读过它。它在第 100 页。
没有问题,这是预期的行为。这是同样的问题:ASP.NET MVC3, Html.TextAreaFor without encoding?
您的问题与编码无关。您正在告诉 MVC(和浏览器)显示一个文本区域来编辑该字符串,这就是它正在做的事情。
如果您想要一个 HTML 编辑器,您的用户可以使用它来编辑 HTML(同时看到它正确呈现),您应该查看这篇文章: 使用 ASP.NET MVC 框架时最好的 WYSIWYG 编辑器是什么?
基本上,您通常必须包含所选编辑器的 .js 和 .css,并在您当前发送到 broser 的文本区域中激活它。例如,这将创建一个类似于您在 Wordpress 中找到的编辑器。
编辑:
现在您已经编辑了您的问题,我认为您误解了这本书所指的内容。当它说您的文本已被编码时,这意味着 < > 字符已被翻译成 & lt; 和> 这样浏览器就不会将它们视为“打开 HTML 标记”和“关闭标记”。
如果您在浏览器中查看源 HTML,您会看到该字符串已被正确编码(如 & lt; 和 & gt;)。