MVCContrib Grid - 显示回车符

发布于 2024-11-18 22:30:23 字数 510 浏览 4 评论 0原文

如何在 MVCContrib 网格内显示回车符?我尝试将返回值替换为 "
"
,但是实际上在我的显示屏中显示
"test
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>

有没有办法让浏览器渲染原始返回的“\r\n”?

How do you show carriage returns inside a MVCContrib Grid? I've tried replacing the returns with "<br>", however that is actually showing a <br> in my display "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>

Is there a way to get the browser to render the original return's "\r\n"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清秋悲枫 2024-11-25 22:30:23

您可以使用自定义列:

column.Custom(item => @item.Note.Replace("\r\n", "<br/>")).Named("Note");

但更安全、恕我直言,更强大的解决方案是使用自定义 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))));
    }
}

然后:

column.Custom(item => Html.FormatNote(item.Note)).Named("Note");

You could use a custom column:

column.Custom(item => @item.Note.Replace("\r\n", "<br/>")).Named("Note");

But a safer and IMHO a more robust solution would be to use a custom HTML helper:

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))));
    }
}

and then:

column.Custom(item => Html.FormatNote(item.Note)).Named("Note");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文