【问题标题】:Join two views MVC 4 [duplicate]加入两个视图 MVC 4 [重复]
【发布时间】:2017-04-11 11:52:56
【问题描述】:

我有这个视图是一个菜单页面:

@model SGP.Models.Turma

<h2>MENU</h2>
@Html.ActionLink("Ver Notas das Componentes", "AvaliacaoLista", "Turma", new { id = Model.TurmaId }, null)
@Html.ActionLink("Ver Notas das SubComponentes", "ListaSubs", "Componente", new { id = Model.TurmaId }, null)
@Html.ActionLink("Ver Nota Final", "CalcularNotaFinal", "Turma", new { id = Model.TurmaId }, null)

但我想在同一页面中显示另一个模型的表格:

@model  List<SGP.Models.PessoaModel2>

    <table>
        <tr>
            <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>
                }           
            </tr>
        }
    </table>
}

有可能吗?目的是在 Turma 模型的菜单页面中显示 PessoaModel2 模型中的此表。我认为的其他方法是将菜单页面转换为 List SGP.Models.PessoaModel2 以放置表格,但链接将不起作用。有人能帮我吗?谢谢

【问题讨论】:

  • 有多种方法。 - 例如创建一个包含您需要的所有属性的视图模型,使用@Html.Action() 调用返回第二个视图的服务器方法。

标签: asp.net-mvc asp.net-mvc-4


【解决方案1】:

您可以使用Html.Partial 在另一个视图(或部分视图)中包含部分视图。这是另一个good resource in this topic,请注意该帖子中提到的技术之间的差异..

【讨论】:

  • 我认为你在链接中弄错了
  • 是的,抱歉,已修复。
【解决方案2】:

您可以使用Tuple class 加入模型

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多