本地测试博客程序,html编码出现问题;服务器发布版本却没有这个问题。
本地显示:
服务器显示:
_ueditor_page_break_tag_
查了下,原来是html编码默认设置问题。需要在对象类存html内容字段设置为不再进行html编码,HtmlEncode = false。
[DisplayFormat(HtmlEncode = false)] [Display(Name = "内容")] public string Content { get; set; }
但是,在首页还是不行。
<div class="uo-content"> @Html.DisplayTextFor(modelItem => item.Content.Split(new string[] { "<!--more-->", "_ueditor_page_break_tag_" }, StringSplitOptions.RemoveEmptyEntries)[0]) </div>
在使用了split分割后,还是会去默认使用html编码,暂时找到的解决方案是用MvcHtmlString,现在最新版的mvc版中已将MvcHtmlString类改为HtmlString类
@(new HtmlString(item.Content.Split(new string[] { "<!--more-->", "_ueditor_page_break_tag_" }, StringSplitOptions.RemoveEmptyEntries)[0]))
参考资料:http://www.cnblogs.com/artech/archive/2012/04/12/model-metadata-02.html