首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Razor中将文本追加到MvcHtmlString

在Razor中将文本追加到MvcHtmlString
EN

Stack Overflow用户
提问于 2011-04-10 10:52:44
回答 2查看 6.4K关注 0票数 2

尝试使用循环在Razor中构建一系列表行:

代码语言:javascript
复制
MvcHtmlString filesList = MvcHtmlString.Create("");
foreach (var file in orderRow.Files)
{
    fileList = fileList + "<tr><td  colspan='2'><a href='http://@file.Location/file.FileName' target='_blank'>@file.Description </a></td></tr>";
}
    @filesList
}

How to concatenate several MvcHtmlString instances让我认为我使用上面的代码是正确的,但我正在与Razor一起工作,我正在经历不同的里程。

thx

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-10 11:09:00

你把问题过于复杂化了。您根本不需要为您的情况构建字符串,因为您只需在循环之后直接输出字符串。您可以这样做:

代码语言:javascript
复制
@foreach (var file in orderRow.Files) {
    <tr><td  colspan='2'><a href='http://@file.Location/file.FileName' target='_blank'>@file.Description </a></td></tr>
}

http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

票数 1
EN

Stack Overflow用户

发布于 2011-04-10 10:59:05

假设您正在 .cs 中编写静态方法

这没什么意义。

MvcHtmlString实际上并没有转义任何东西;它只是告诉Razor / ASPX不要转义它自己。

您应该正常使用StringBuilder组装字符串,然后返回new HtmlString(builder.ToString())

如果你在一个Razor页面中,整个事情是没有意义的;请看另一个答案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5609457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档