Header 模板编辑器行
Header row for editorfor template
我在 MVC4 中有一个如下所示的视图:
@model List<Home.Models.Model>
@{
ViewBag.Title = "DPR";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm("AgendaNotes", "Home", FormMethod.Post, new { @id = "formDPR"}))
{
<table style="font-size:xx-small">
<thead>
<tr>
<th>Name</th>
<th>DOD ID</th>
<th>Last Review</th>
<th>Include?</th>
<th>Reason</th>
<th>Notes</th>
</tr>
</thead>
</table>
<div style="background-color:white">
@Html.EditorForModel()
</div>
<div>
</div>
}
而 model.cshtml 只是一行中的一些字段。我不想把 headers 放在那一行,因为它们在列表中重复了很多次。有没有一种简单的方法可以在模板编辑器中为模型的行创建 header?
我是这样做的:
<table style="font-size:xx-small" class="table_body">
<thead>
<tr>
<th>Name</th>
<th>DOD ID</th>
<th>Last Review</th>
<th>Include?</th>
<th>Reason</th>
<th>Notes</th>
</tr>
</thead>
@for (var i = 0; i < Model.Count; i++)
{
<tr>
@Html.EditorFor(m=>Model[i])
</tr>
}
</table>
并且在 model.cshtml 中,它简化了 TD 元素中每个字段的一些字段。
不能 100% 确定我理解正确。在视图中创建 table header,然后在 for each
中调用 EditorTemplate
@using (Html.BeginForm("AgendaNotes", "Home", FormMethod.Post, new { @id = "formDPR" }))
{
<table style="font-size:xx-small">
<thead>
<tr>
<th>Name</th>
<th>DOD ID</th>
<th>Last Review</th>
<th>Include?</th>
<th>Reason</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Details)
{
@testTemplate(item)
}
</tbody>
</table>
}
然后将编辑器模板更改为仅一行,例如
@helper testTemplate(Details detail)
{
<tr>
<td>@detail.Propery1</td>
<td>@detail.Propery2</td>
</tr>
}
我使用内联助手只是为了说明我的意思。现在你应该有一个 table 和一个 header 和很多行
我在 MVC4 中有一个如下所示的视图:
@model List<Home.Models.Model>
@{
ViewBag.Title = "DPR";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm("AgendaNotes", "Home", FormMethod.Post, new { @id = "formDPR"}))
{
<table style="font-size:xx-small">
<thead>
<tr>
<th>Name</th>
<th>DOD ID</th>
<th>Last Review</th>
<th>Include?</th>
<th>Reason</th>
<th>Notes</th>
</tr>
</thead>
</table>
<div style="background-color:white">
@Html.EditorForModel()
</div>
<div>
</div>
}
而 model.cshtml 只是一行中的一些字段。我不想把 headers 放在那一行,因为它们在列表中重复了很多次。有没有一种简单的方法可以在模板编辑器中为模型的行创建 header?
我是这样做的:
<table style="font-size:xx-small" class="table_body">
<thead>
<tr>
<th>Name</th>
<th>DOD ID</th>
<th>Last Review</th>
<th>Include?</th>
<th>Reason</th>
<th>Notes</th>
</tr>
</thead>
@for (var i = 0; i < Model.Count; i++)
{
<tr>
@Html.EditorFor(m=>Model[i])
</tr>
}
</table>
并且在 model.cshtml 中,它简化了 TD 元素中每个字段的一些字段。
不能 100% 确定我理解正确。在视图中创建 table header,然后在 for each
中调用 EditorTemplate@using (Html.BeginForm("AgendaNotes", "Home", FormMethod.Post, new { @id = "formDPR" }))
{
<table style="font-size:xx-small">
<thead>
<tr>
<th>Name</th>
<th>DOD ID</th>
<th>Last Review</th>
<th>Include?</th>
<th>Reason</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Details)
{
@testTemplate(item)
}
</tbody>
</table>
}
然后将编辑器模板更改为仅一行,例如
@helper testTemplate(Details detail)
{
<tr>
<td>@detail.Propery1</td>
<td>@detail.Propery2</td>
</tr>
}
我使用内联助手只是为了说明我的意思。现在你应该有一个 table 和一个 header 和很多行