将变量传递给局部视图

时间:2015-08-25 12:53:28

标签: asp.net-mvc

在视图中我有一个foreach循环并且在循环中,我想将循环变量传递给将在模态中使用的局部视图:

@foreach (var ladder in Model.CurrentLadders)
 {...render some stuff
    @Html.Partial("_SignupSheetPartial",ladder)

然后在_signupSheetpartial.cshtml

    <!-- Modal content-->
    //render stuff using the ladder variable
     <p>ladder.Name</p>

但是局部视图无法识别梯形变量。另外,如果我想在partial中使用另一个变量,有没有办法发送多个变量?

2 个答案:

答案 0 :(得分:2)

您的部分视图需要知道它将被赋予特定的模型。因此,请确保在开头有这一行:

@model Full.Name.Of.Ladder.Class

在局部视图中没有循环,因此没有循环变量。相反,它应该由Model引用:

<p>Model.Name</p>

答案 1 :(得分:1)

确保您在模型中引用梯形图类,以便部分视图模型知道会发生什么

@model  namespace of ladder class

这是将类(对象)中的多个参数传递给局部视图的最佳方法。因此,您需要以这样的方式设计您的类:部分视图所需的任何内容都分组在一个类

希望这有帮助!