Razor 语法:Html.Raw 在 <textarea> 中不起作用

Posted

技术标签:

【中文标题】Razor 语法:Html.Raw 在 <textarea> 中不起作用【英文标题】:Razor Syntax: Html.Raw not working in <textarea> 【发布时间】:2014-09-09 22:08:03 【问题描述】:

我有一个 asp.net 项目,其中 html.Raw() 对于 textarea 标记没有按预期工作:

 <textarea>@(Html.Raw("<p>Test</p>"))</textarea>

如何让 html 正确呈现?

【问题讨论】:

您期待什么? Html.Raw-返回非 HTML 编码的标记。 @malkam textarea 中返回的是“

Test

”,但我期望的是“Test”,其中

标签由 css 格式化

然后简单地尝试 字符串“

Test

”是动态形成的。尝试将“
我们不能在 textarea 中有 html 格式的文本。检查这个***.com/questions/2580247/… 【参考方案1】:

您的代码可以正常工作,但&lt;textarea&gt; 元素不能包含格式化的 HTML。换句话说,Html.Raw() 正在做它的事情,但是浏览器没有正确地格式化 &lt;textarea&gt; 元素内的 HTML 标记。

根据MDN,“字符数据”是&lt;textarea&gt;唯一允许的内容。

如果您需要像 textarea 这样允许格式化 HTML 的东西,您正在寻找所见即所得的编辑器,例如 CKEditor、TinyMCE 或 Kendo 的 Editor。

【讨论】:

以上是关于Razor 语法:Html.Raw 在 <textarea> 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

JS 如何将字符串显示成HTML,如下,@Html.Raw(str)找不到str,js有类似Html.Raw的功能吗?我用mvc razor

razor 如何显示 

ASP.NET MVC Razor 无编码渲染

如何在单独的脚本中定义的Razor中使用对象

浅谈MVC Razor基本语法

Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符