C# MVC中从视图到控制器的模型传递# @foreach(Model.AllManagementActions中的var项) { @DisplayFor(modeleItem=>item.Id) @DisplayFor(modelItem=>item.Name)

C# MVC中从视图到控制器的模型传递# @foreach(Model.AllManagementActions中的var项) { @DisplayFor(modeleItem=>item.Id) @DisplayFor(modelItem=>item.Name),c#,asp.net-mvc-3,view,model,controller,C#,Asp.net Mvc 3,View,Model,Controller,我想将所有这些值传递给我的控制器。ID、名称等。 我不能直接把东西传过去吗? 这是我当前的代码,但不起作用 @foreach (var item in Model.AllManagementActions) { <tr> <td> @Html.DisplayFor(modelItem => item.Id) </td> <td> @Html.DisplayFor(model

我想将所有这些值传递给我的控制器。ID、名称等。 我不能直接把东西传过去吗? 这是我当前的代码,但不起作用

 @foreach (var item in Model.AllManagementActions)
{
 <tr>
     <td>
         @Html.DisplayFor(modelItem => item.Id)
     </td>
     <td>
         @Html.DisplayFor(modelItem => item.Name)
     </td>      

如果我传递item.name、item.id、item.number等,它就会工作


我可以通过模型吗?

是的,您可以通过整个模型,但您应该使用提交按钮而不是锚定标记,并将代码放入

<a class="complete" title="My Action" data-url="@Url.Action("Submit", "Period", new { tpId = Model.Id ,it = item})" style="cursor: pointer;">       

是的,您可以传递整个模型,但是您应该使用submit按钮而不是anchor标记,并将代码放入

<a class="complete" title="My Action" data-url="@Url.Action("Submit", "Period", new { tpId = Model.Id ,it = item})" style="cursor: pointer;">       

不要在视图中迭代-用于类型

有一个“~/shared/EditorTemplates/ManagementAction.ascx”(如果使用razor,则为
.cshtml
),用于呈现单个
管理操作

在视图中,不要重复使用:

 [HttpPost]
 public ActionResult SaveViewData(YourModel model)
 {
    //your logic.
 }

不要在视图中迭代-用于类型

有一个“~/shared/EditorTemplates/ManagementAction.ascx”(如果使用razor,则为
.cshtml
),用于呈现单个
管理操作

在视图中,不要重复使用:

 [HttpPost]
 public ActionResult SaveViewData(YourModel model)
 {
    //your logic.
 }

另外,为了显示一个表,他可以使用WebHelper类中的WebGrid,它只接收您的一个IEnumerable数据,并且知道该做什么。如果他创建了一个编辑器模板,他将能够将模型传递给控制器?@aquinas-是的。我自己也用它来获取包含作为单个强类型参数传入的集合的模型我想我以为他想编辑列表中的一个管理操作。也许我错了…他还可以使用WebHelper类中的WebGrid来显示表,它只接收你的IEnumerable数据,并且知道该做什么。如果他创建了一个编辑器模板,他将能够将模型传递给一个控件oller?@aquinas-是的。我自己用它来获取包含集合的模型,这些集合作为单个强类型参数传递给一个操作。我想我以为他希望能够编辑列表中的一个ManagementActions。也许我错了。。。