将html标记作为字符串插入数据库,并在C#中检索它
本文关键字:并在 检索 数据库 插入 html 字符串 | 更新日期: 2023-09-27 18:20:15
我想将html标记作为字符串插入数据库并检索回来。在检索到它之后,我想将它绑定到Grid中。
作为的一个例子
String word = "<h1>This is Heading </h1> 'n <h2>This is body</h2> 't This is after tab";
在我绑定到网格后,它应该是
This is Heading(in a big font size)
This is body(in small font) - (tab space) This after tab
然而,这种方式不起作用。它显示<h1>This is Heading </h1> 'n <h2>This is body</h2> 't This is after tab
word,而不是应用真正的HTML行为。我尝试删除"''"特殊字符,但结果不变。
请帮帮我。
您到底在使用哪个控件?他们中的大多数人都会像那样对html进行转义,要想让它"按原样"编写,你必须设置一个属性。
如果您使用的是GridView,那么您可以将BoundColumn上的HtmlEncode设置为false。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.htmlencode.aspx
如果您使用的是自动生成列,请参阅以下SO线程:防止在自动生成的GridView列中进行HTML编码
保存到DB不是问题,可以直接将字符串保存到DB中,但在UI上显示时必须使用HttpUyility.HtmlEncode()
,否则会引发Javascript黑客攻击。
但如果您从网页输入数据,请确保输入验证已关闭,否则您将收到XSS脚本攻击错误。
您可以将文本绑定到文本控件中,它将表示实际的HTML格式文本。类似:
ltrlMsg.Text="<div class='"Message Success'"> Your Message has been sent successfully! </div>"
或者你也可以绑定到你的网格中。