我有这个视图来创建一个菜单,我使用@ Html.Action:
@model SGP.Models.Turma
@{
ViewBag.Title = "Menu";
}
...
@Html.Action("AvaliacaoLista", "Turma", new { id = Model.TurmaId })
Html.Action中的视图:
@model List<SGP.Models.PessoaModel2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<th>Nome</th>
<th>Numero</th>
@foreach (String s in ViewBag.Componentes)
{
<th>@s</th>
}
<th>Nota Final</th>
</tr>
@for (int i = 0; i < Model.Count; i++)
{
<tr>
@Html.HiddenFor(x => Model[i].turmaId)
@Html.HiddenFor(x => Model[i].userid)
<td>@Model[i].nome</td>
<td>@Model[i].num</td>
@for (int a = 0; a < Model[i].am.Count; a++)
{
@Html.HiddenFor(x => Model[i].am[a].AvaliacaoId)
<td>@Html.DisplayFor(x => Model[i].am[a].nota)</td>
}
<td>@Model[i].notafinal</td>
</tr>
}
</table>
}
这是它在视图中显示的内容: 有人能告诉我为什么这样做?或者我应该使用其他方式使该表出现在菜单中而不是使用Html.Action? 谢谢 (我只想显示表而不重复标题)
答案 0 :(得分:2)
您的徽标两次因为您的视图也有(您使用Html.Action
调用),所以只需将子视图Layout
设置为null
:
@model List<SGP.Models.PessoaModel2>
@{
Layout = null;
}
// your other stuff
答案 1 :(得分:1)
好吧,我可以看出你的问题是什么。你&#34;标题&#34;正在重演。
解决此问题的最简单方法是添加:
@{
Layout = null;
}
要在其中仅呈现HTML的任何视图。这样,它就不会渲染默认情况下使用视图渲染的布局页面。