在Asp.net MVC中编码html字符串

时间:2012-12-24 09:48:55

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

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

从上面的陈述我希望将文本框中的字符串显示为:

这是 Zeb

但实际上我得到的是

This is <b> Zeb </b>

我的字符串编码不正确。所以请有人告诉我问题在哪里?

enter image description here

我已从Professional ASP.NET MVC 4这本书中读到它。它在第100页。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

如果您想要一个HTML编辑器,您的用户可以使用该编辑器编辑HTML(同时正确呈现它),您应该查看此帖子: What's the best WYSIWYG editor when using the ASP.NET MVC Framework?

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


编辑:

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

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