Bro*_*sto 2 mvccontrib-grid asp.net-mvc-3
如何在MVCContrib Grid中显示回车?我已经尝试用"<br>",但是实际上<br>在我的显示中显示了返回 "test<br>test"
<div id="noteList">
@Html.Grid(Model).Columns(column => {
column.For(x => x.TimeStamp);
column.For(x => x.UserName);
column.For(x => x.Note.Replace("\r\n","\"<br>\"")).Named("Note");
}).Attributes(Style => "text-aligh: center", @Class => "linkGrid")
</div>
Run Code Online (Sandbox Code Playgroud)
有没有办法让浏览器呈现原始返回的"\ r \n"?
您可以使用自定义列:
column.Custom(item => @item.Note.Replace("\r\n", "<br/>")).Named("Note");
Run Code Online (Sandbox Code Playgroud)
但更安全的IMHO更强大的解决方案是使用自定义HTML帮助程序:
public static class HtmlExtensions
{
public static IHtmlString FormatNote(this HtmlHelper html, string note)
{
if (string.IsNullOrEmpty(note))
{
return MvcHtmlString.Empty;
}
var lines = note.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
return MvcHtmlString.Create(string.Join("<br/>", lines.Select(x => html.Encode(x))));
}
}
Run Code Online (Sandbox Code Playgroud)
然后:
column.Custom(item => Html.FormatNote(item.Note)).Named("Note");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
994 次 |
| 最近记录: |