@foreach (var item in Model.AllManagementActions)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
我想将所有这些值传递给我的控制器。 ID,名称等 我不能只是通过该项目本身? 这是我目前的代码,但它不起作用。
<a class="complete" title="My Action" data-url="@Url.Action("Submit", "Period", new { tpId = Model.Id ,it = item})" style="cursor: pointer;">
如果我传递item.name,item.id,item.number等
,它就有效我可以通过该模型吗?
答案 0 :(得分:3)
不要在您的视图中进行迭代 - 使用editor templates作为类型。
有一个'〜/ shared / EditorTemplates / ManagementAction.ascx'(如果使用razor,则为.cshtml
),呈现单个ManagementAction
。
在视图中,而不是迭代使用:
@Html.EditorFor(model => model.AllManagementActions)
答案 1 :(得分:0)
是的,您可以传递整个模型,但是您应该使用提交按钮而不是锚标记,并将您的代码放在
中using(Html.BeginForm)
{
@foreach (var item in Model.AllManagementActions)
{
//your desire.
}
<input type="submit" value="Save" />
}
在您的控制器中,您将收到帖子上的模型
[HttpPost]
public ActionResult SaveViewData(YourModel model)
{
//your logic.
}