MVC3.0显示内容页面时,去掉Html标签和在文本框中显示换行

第一个问题:在如果使用ckeditor 输入内容时候,存放的数据库的信息时含有Html 标签的,当我们在页面显示的时候,不希望看到标签,此时,我们可以在显示内容的字段是加上两个Div

即:

View Code
1 <div id="divContent1">
2  <div id="divContent2">
3 @Model.ViewResultSingle.CONTENT
4  </div>
5  </div>
6
7
8 <script type="text/javascript">
9
10 $(function ()
11 {
12 if ($("#divContent2")[0].outerText)
13 {
14 // ie
15 $("#divContent1").html($("#divContent2")0].outerText);
16 }
17 else
18 {
19 // Firefox
20 $("#divContent1").html($("#divContent2")0].textContent);
21 }
22 });
23
24 </script>

这种方法在返回详细详细页面,只显示一条数据时可以,但涉及到分页的问题,在其他页面显示的时候,我们需要循环每一个字段

即:

JS Code
1 $(".divContent2").each(function (i)
2 {
3 $(".divContent1").eq(i).html($(this).text());
4 });
5
6 $("#comments").ajaxStop(function ()
7 {
8 $(".divContent2").each(function (i)
9 {
10 $(".divContent1").eq(i).html($(this).text());
11 });
12 });

//comments当前整个页面的Div

@using (Ajax.BeginForm("Comment", null,
        new AjaxOptions() { UpdateTargetId = "comments" }, new { id = "frmcomments" }))
{

}

此时应该理解 ajaxStop的用法!

相应的JS方法就是去掉标签的意思

第二个问题:在文本框中显示内容换行

即 :<pre>@item.CONTENT</pre>

第三个问题:显示内容超出显示范围,并且输入英文字母无法自动换行,已测试过,在IE 和FF下没有问题!

<div style="width:600px;word-wrap: break-word; word-break: break-all;white-space:pre-wrap;">@item.CONTENT</div>

个人总结:小的知识点容易忘记,须存储!

posted @ 2011-06-30 15:38  365lei  阅读(3920)  评论(0编辑  收藏  举报