0
 @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 等,它就可以工作

我可以通过模型吗?

4

2 回答 2

3

不要在您的视图中迭代 - 使用类型的编辑器模板

有一个.cshtml呈现单个ManagementAction.

在视图中,而不是迭代使用:

@Html.EditorFor(model => model.AllManagementActions)
于 2012-07-21T21:12:56.900 回答
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.
 }
于 2012-07-21T21:11:01.593 回答