2012-07-21 105 views
0
@foreach (var item in Model.AllManagementActions) 
{ 
<tr> 
    <td> 
     @Html.DisplayFor(modelItem => item.Id) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Name) 
    </td>  

我想将所有这些值传递给我的控制器。身份证,姓名等 我不能只通过项目本身? 这是我目前的代码,但它不起作用。在mvc3中将视图传递给控制器​​c#

<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

是的,你可以通过整个模型,但你应该使用一个提交按钮,而不是一个锚标记,并把你的代码里面

using(Html.BeginForm) 
{ 
    @foreach (var item in Model.AllManagementActions) 
    { 
     //your desire. 
    } 
    <input type="submit" value="Save" /> 
} 

在你的控制器,你将收到上后

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

不要在您的视图中迭代 - 使用editor templates作为类型。

有一个呈现单个ManagementAction的'〜/ shared/EditorTemplates/ManagementAction.ascx'(或.cshtml如果使用剃须刀)。而不是

在视图中,使用迭代:

@Html.EditorFor(model => model.AllManagementActions) 
+0

也displying一张桌子,他可以使用的WebGrid从WebHelper类塔临危只有一个IEnumerable您的数据,并知道该怎么做。 http://msdn.microsoft.com/en-us/library/system.web.helpers.webgrid%28v=vs.99%29.aspx – Freeman 2012-07-21 21:15:48

+0

如果他创建了一个编辑器模板,他将能够将模型传递给一个控制器? – aquinas 2012-07-21 21:30:00

+0

@aquinas - 是的。我自己使用它来获取包含作为单个强类型参数传入操作的集合的模型。 – Oded 2012-07-21 21:30:49

相关问题