我在数据库中保存的值是“<ul><li>11111</li><li>22222</li><li>33333333</li><li>44444444</li></ul>”, 当显示在页面上的时候却显示为
"•11111<br />•22222<br />•33333333<br />•44444444<br />", 而不是以列表的形式显示的。列表的形式:
•11111
•22222
•33333333
•44444444
数据是通过jQuery中的 igGrid 显示在前台的。
请问如何去掉<br /> 而让数据显示为上面的列表形式。 我尝试过用“\r\n”去替换“<br />”,可还是不对,"\r\n"又显示在了页面上。请各位大神帮帮忙解决这个问题,谢谢。
感觉好像是igGrid插件中存在什么问题,有没有人解决过igGrid中的问题
公司规定不能外传,只能简单的描述一下了,能够提供方法的尽量详细一些,在这里先谢谢了.
获取过来的数据
Test Data<br /><br />
&nbsp; • 222222<br /><br />
&nbsp; • 222222222<br /><br />
&nbsp; • 222222222222<br /><br />
Record.Description = SendHTML(ReplaceJunk(Record.Description));
通过SendHTML和PeplaceJunk方法转换成了如下数据:
Test Data<br>• 222222<br>• 222222222<br>• 222222222222
最终页面显示效果
Test Data<br>• 222222<br>• 222222222<br>• 222222222222
前台通过jQuery获取数据
$("#grid1").igGrid({
columns: [
{ headerText: "Description", key: "descriptionField", dataType: "string", width: tablepixel[1] }
],
)}
显示效果如图:
<br />
还是不对啊
编码和解码下就可以了啊
Server.HtmlDecode();
Server.HtmlEncode();
能否详细解释一下,还有具体加到什么位置??
不要用.text()
用.html()
+1
楼上差不多,你如果直接放到html页里是不会有这个问题,如果是MVC那要返回mvcstring才行
主要是你把br没有当html处理
请问如何把br当html处理呢?
@回望天涯: 一种是html被编码了,就是把html编码后当成是文本来处理了。
要是文本的话,你用\r\n换行。
你把你的主要代码贴上来才好看明白
保存的时候编码 取出来的显示的时候要解码
你没有原样输入。你可以在转一次这个就可以起到作用了
$(document).delegate("#grid1", "iggriddatarendered", function (evt, ui) { $('.applyMultilineFormater').each(function () { $(this).html(MultilineFormater($(this).html())); }); $('.applyLinkFormater').each(function () { $(this).html(LinkFormater($(this).html())); }); });
function MultilineFormater(val) { while (val.indexOf("<br>") >= 0) { val = val.replace("<br>", "<br/>"); } return val; }
function LinkFormater(val) { while (val.indexOf("<") >= 0) { val = val.replace("<", "<"); } while (val.indexOf(">") >= 0) { val = val.replace(">", ">"); } return val; }
@Html.Raw(Model.Remark.Replace("\r\n","<br>"))