我有一个要作为主内容输出的项目列表(下面不包括主内容)。每个项目都有 3 个属性:部分名称、标签和值。每个项目都包含在 a 中,每次部分名称更改时,我都必须打开 a (并关闭前一个,如果有的话)。我正在使用带有以下代码的 Razor 视图:
@foreach (LocalStorageItem lsi in Model) {
string fld_name = "f_" + lsi.ItemName;
if (lsi.SectionName != sn) {
if (sn != "") {
Html.Raw("</fieldset>");
}
sn = lsi.SectionName;
<h2>@sn</h2>
Html.Raw("<fieldset>");
}
<div class="row">
<div class="ls_label">@lsi.ItemName</div>
<div class="ls_content" name="@fld_name" id="@fld_name">.</div>
</div>
}
@if (Model.Count != 0) {
Html.Raw("</fieldset>");
}
问题是:每次部分名称更改时,都不会生成字段集标记(打开和/或关闭)。我哪里错了?如果我不使用 Html.Raw (或 @: 作为替代),VS2010 解析器会发出错误信号。
Calling Html.Raw
返回一个IHtmlString
;它不会向页面写入任何内容。
相反,你应该写
@:</fieldset>
Using @:
强制 Razor 将其视为纯文本,因此不需要格式良好。
但是,通过调用可以使您的代码更加简洁GroupBy
并制作一个嵌套的foreach
loop.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)