响应.将打印文本从数据库写入为HTML

本文关键字:HTML 数据库 打印 文本 响应 | 更新日期: 2023-09-27 18:03:02

我将文本区域中的文本存储到数据库中。该文本可以包含新行、特殊字符等。但是我想确保当我用响应显示它时。写出来,它就像要在textarea控件中显示一样。我这样做的原因是我想给用户一个打印视图表单。下面的解决方案不起作用。使用ASP。NET/C #

e。g

foreach (DataRow row in dview.Table.Rows)
{
Response.Write("<tr>");
                    Response.Write(String.Format("<td>{0}<br/><br/></td>",   row[1].ToString().Replace("'n", "<br/>")));
                    Response.Write("</tr>");

谢谢

响应.将打印文本从数据库写入为HTML

不要使用"'n";始终使用Environment.NewLine,而不是:

foreach (DataRow row in dview.Table.Rows)
{
    Response.Write("<tr>"); 
    Response.Write(String.Format("<td>{0}<br/><br/></td>", row[1].ToString().Replace(Environment.NewLine, "<br/>")));
    Response.Write("</tr>");
}

不要那样做,你会遇到问题的,特别是当引号和符号涉及到。

像这样存储数据:

 HttpUtility.HtmlEncode("<p>Lorem ipsum ...</p>"); //your HTML to encode goes here

并像这样检索它:

myPlaceHolder.Text = HttpUtility.HTMLDecode(myData);

关于htmlcode/Decode的更多信息

您可以在<pre></pre>块中显示输出,该块将保留所有空白,包括多个空格,换行符等。

建议使用

HTML编码,这样数据中的任何尖括号都不会破坏输出HTML。