how is it possible t开发者_如何学JAVAo retrieve data from TextBoxFor helper within a foreach loop? I mean:
in the view:
foreach(Language l in ViewBag.Languages){
<td>@l.lang</td>
<td>@Html.TextBoxFor(model => model.Name)
}
and how can I retrieve it in the controller once posted?
MyModel.Name //this returns the value of the first textbox within the foreach loop
By the way model.Name is defined in MyModel.cs as:
public string Name { get; set; }
You should be able to use the ModelBinder in your action by using:
public ActionResult MyAction(string[] name)
{
foreach (var item in name)
{
// Process items
}
}
Where name is the name automatically given to the text-boxes by Html.TextBoxFor().
Edit: If you wish to change the parameter name from name to something more descriptive, you can achieve this by using Html.TextBox, albeit with a loss of stong-typing:
@Html.TextBox("SomeMoreDescriptiveName", Model.Name);
And then in your controller action:
public ActionResult MyAction(string[] SomeMoreDescriptiveName)
{
...
}
@foreach (var _item in Model.ListSurvey)
{
@Html.TextBoxFor(m=>m.Question, new { Value = @_item.Question })
}
加载中,请稍侯......
精彩评论