【发布时间】:2014-12-16 03:04:45
【问题描述】:
我的 SQL 服务器中有一个包含一长串文本的列。 (PAGE_CONTENT)我可以在我的网站上显示它,只是它的显示就像在 SQL 服务器表中一样......一个巨大的段落......阅读一点也不有趣:(我的原始设计有这个内容被破坏了<br/> tags....所以,我的问题是,如果我需要段落中的输出,我是否需要制作一堆 PAGE_CONTENT_P1、PAGE_CONTENT_P2、....PAGE_CONTENT_Pnth?这对我来说似乎是错误的。
那么如何设置我的字符串生成器,以便将文本分成段落?
这就是我现在的样子。如果您需要查看任何其他代码,请告诉我。谢谢
sb.Append("<h1 class=\"title\">" + ds.Tables[0].Rows[i]["PAGE_TITLE"].ToString() + "</h1> ");
sb.Append("<div class=\"row\">");
sb.Append("<div class=\"col-md-12 history\">");
sb.Append("<p class=\"text-justify\">" + ds.Tables[0].Rows[i]["PAGE_CONTENT"].ToString() + "</p> ");
sb.Append("</div>");
sb.Append("</div>");
【问题讨论】:
-
您是否打算在数据库列中允许 HTML?内容是否可以修改为包含的占位符,您将用 HTML 替换,例如
{br}会变成换行符,用于输出? -
这可能适用于这种特殊情况,但如果我允许客户使用 CMS 更改此内容,我怀疑客户是否会在段落之后插入
。所以我有点需要它能够尊重数据库内外的段落格式。但是现在,我只是担心从数据库中分段出去 -
如果不是很清楚,我的意思是:为什么不翻译出来呢?在
["PAGE_CONTENT"].ToString()之后添加.Replace("\n", "</p><p class=\"text-justify\">")。还是我错过了什么? -
@srutzky 成功了!请添加作为答案,我想为此感谢您。另外,其他人也可以学习。再次感谢
-
如果你只是用 HTML 标签直接替换字符串中的文本,那么你不能对输出进行 HTML 编码。这意味着原始字符串中的任何 HTML 片段,例如有点邪恶的脚本,将被输出。这也意味着原始字符串必须已经具有 HTML 编码的值,例如 & 字符。
标签: c# asp.net sql-server ado.net