1
<%= Html.TextArea("text", "This is <b>Zeb</b>") %>

从上面的语句中,我期望将文本框中的字符串显示为:


这是泽布

但我实际上得到的是

This is <b> Zeb </b>

我的字符串未正确编码。那么请有人告诉我问题出在哪里?

在此处输入图像描述

我从 Professional ASP.NET MVC 4 一书中读过它。它在第 100 页。

4

2 回答 2

3

没有问题,这是预期的行为。这是同样的问题:ASP.NET MVC3, Html.TextAreaFor without encoding?

于 2012-12-24T10:16:12.017 回答
0

您的问题与编码无关。您正在告诉 MVC(和浏览器)显示一个文本区域来编辑该字符串,这就是它正在做的事情。

如果您想要一个 HTML 编辑器,您的用户可以使用它来编辑 HTML(同时看到它正确呈现),您应该查看这篇文章: 使用 ASP.NET MVC 框架时最好的 WYSIWYG 编辑器是什么?

基本上,您通常必须包含所选编辑器的 .js 和 .css,并在您当前发送到 broser 的文本区域中激活它。例如,这将创建一个类似于您在 Wordpress 中找到的编辑器。


编辑:

现在您已经编辑了您的问题,我认为您误解了这本书所指的内容。当它说您的文本已被编码时,这意味着 < > 字符已被翻译成 & lt; 和> 这样浏览器就不会将它们视为“打开 HTML 标记”和“关闭标记”。

如果您在浏览器中查看源 HTML,您会看到该字符串已被正确编码(如 & lt; 和 & gt;)。

于 2012-12-24T10:01:40.177 回答