Asp.net 在多行文本框(或任何控件)中呈现HTML

Asp.net 在多行文本框(或任何控件)中呈现HTML,asp.net,Asp.net,我在多行文本框中添加了一些文本。它有一些Html标记,例如,,等等。我如何格式化它,使多行文本框中的文本以格式化的Html呈现给浏览器?现在它只是呈现纯文本 附加的一些示例文本: "<p class=""myclass"">blah blah blah some text</p>" 此多行文本框用于只读条款和条件框。我想在那里的格式化文本,如粗体等 我对使用第三方控件不感兴趣。我只是想弄清楚如何让它工作。您需要对所有标签进行编码。例如 将需要在代码中表示为:div

我在多行文本框中添加了一些文本。它有一些Html标记,例如,,等等。我如何格式化它,使多行文本框中的文本以格式化的Html呈现给浏览器?现在它只是呈现纯文本

附加的一些示例文本:

"<p class=""myclass"">blah blah blah some text</p>"
此多行文本框用于只读条款和条件框。我想在那里的格式化文本,如粗体等


我对使用第三方控件不感兴趣。我只是想弄清楚如何让它工作。

您需要对所有标签进行编码。例如 将需要在代码中表示为:div


因此,“”变成“”

您需要对所有标记进行编码。例如 将需要在代码中表示为:div


因此,“,”变成“

我将转义保留的HTML字符(例如,&,and'),并查看这是否允许显示数据。你可以找到完整的参考资料


不过,就我个人而言,我很少通过文本区来做这件事。相反,我使用ckEditor(以前称为fckEditor)来显示并允许编辑格式丰富的文本。

我将转义保留的HTML字符(例如,&,and'),看看这是否允许显示数据。你可以找到完整的参考资料


不过,就我个人而言,我很少通过文本区来做这件事。相反,我使用ckEditor(以前的fckEditor)来显示并允许编辑格式丰富的文本。

为了将HTML视为HTML并使文本框能够识别HTML标记,您必须使用HTMLTextbox。是一个流行且易于使用的编辑器


另外,不要忘记在页面指令上设置validaterequest=“false”以禁用自动HTML注入测试,以便将HTML视为HTML并使文本框知道HTML标记,您将不得不使用HTMLTextbox。是一个流行且易于使用的编辑器


另外,不要忘记在页面指令中设置validaterequest=“false”以禁用自动HTML注入测试,格式化HTML在标准HTML文本区域控件中不起作用。要实现这一点真的很棘手,大多数实现都依赖于iFrame和繁重的javascripting。试图自己实现这一点是一个非常糟糕的想法


幸运的是,有一个是开源的,非常棒。

格式化的HTML在标准HTML文本区域控件中不起作用。要实现这一点真的很棘手,大多数实现都依赖于iFrame和繁重的javascripting。试图自己实现这一点是一个非常糟糕的想法


幸运的是,有一个是开源的,非常棒。

如果这是针对只读条款和条件的,我假设您希望它在文本框中滚动?您可以使用普通div实现这一点,固定高度并使用
溢出:auto
css属性

如果这是只读条款和条件,我假设您希望它在文本框中滚动?您可以使用普通div、固定高度并使用
overflow:auto
css属性来实现这一点,我假设您希望使用多行文本框,因为滚动条。你可以用div来实现这一点

<div style="width:300px;height:250px;overflow:auto;"></div>

由于滚动条的缘故,我假设您想要使用多行文本框。你可以用div来实现这一点

<div style="width:300px;height:250px;overflow:auto;"></div>


以下是答案。不要使用ASP.NET控件,如文本框。相反,请使用建议的div技术(谢谢)。

以下是答案。不要使用ASP.NET控件,如文本框。相反,请使用建议的div技术(谢谢)。

因为我看到的是解决方法。textbox控件上的文本属性是html编码的,因此无论您将textbox.text设置为何种html,它都会显示您将其设置为的内容

这里建议的“答案”或多或少是一些变通方法,因为您不维护控件,而是同时使用另一种方法(HTML)。如果您将代码隐藏与此绑定,则必须重写它以使用ajax或w/e来促进代码隐藏的功能


而不是\r\n等

,因为我看到的是解决方法。textbox控件上的文本属性是html编码的,因此无论您将textbox.text设置为何种html,它都会显示您将其设置为的内容

这里建议的“答案”或多或少是一些变通方法,因为您不维护控件,而是同时使用另一种方法(HTML)。如果您将代码隐藏与此绑定,则必须重写它以使用ajax或w/e来促进代码隐藏的功能


因此,基本上我需要在绑定到ASP.NET控件之前对文本进行URL编码,然后执行查找/替换,而不是\r\n etc

?我不明白。我在绑定到文本框之前对文本进行了编码。它呈现为编码的标记,而不是html。因此,我的文本框中的输出实际上是一堆etc。呈现,在使用HttpUtility.htmlencode包装绑定到控件的文本后,没有在多行框中转换为HTML。例如,这呈现了编码值,在浏览器中查看呈现的文本框时不是HTML:txtsomemultilitextbox.Text=HttpUtility.HtmlEncode(theText.ToString());因此,基本上我需要在绑定到ASP.NET控件之前对文本进行URL编码,然后执行查找/替换?我不明白。我在绑定到文本框之前对文本进行了编码。它呈现为编码的标记,而不是html。因此,我的文本框中的输出实际上是一堆etc。呈现,在使用HttpUtility.htmlencode包装绑定到控件的文本后,没有在多行框中转换为HTML。例如,这呈现了编码值,在浏览器中查看呈现的文本框时不是HTML:txtsomemultilitextbox.Text=HttpUtility.HtmlEncode(theText.ToString());谢谢,我们不想对简单的多行文本框使用第三方控件