问题
I want to pass a list array from the View to the controller on submission of the form. I can pass back simple values by using the Html.hidden() function. But how does one pass back a complex object or a List array
回答1:
You can either use Json or look into the following example
http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/
回答2:
You can pass back a list within a view model using Html.hidden
for each element of a list.
The list property in your view model will be re-constructed as long as you process the list elements using a for
loop in your view (foreach
will not work). For example:
@for (var i = 0; i < Model.Nutrients.Count(); i++)
{
// This ensures that the list of nutrients is passed in the view model back to the controller
@Html.HiddenFor(m => m.Nutrients[i].Name);
@Html.HiddenFor(m => m.Nutrients[i].Id);
}
来源:https://stackoverflow.com/questions/3230463/net-mvc-pass-back-complex-object-or-list-array-from-view-to-controller