foreach循环中的c#razor-mvc文本框
本文关键字:文本 c#razor-mvc 循环 foreach | 更新日期: 2023-09-27 18:00:19
如何在foreach循环中从TextBoxFor
助手检索数据?我的意思是:
在视图中:
foreach(Language l in ViewBag.Languages){
<td>@l.lang</td>
<td>@Html.TextBoxFor(model => model.Name)
}
一旦发布,我如何在控制器中检索它?
MyModel.Name //this returns the value of the first textbox within the foreach loop
顺便说一句,模型。名称在MyModel.cs中定义为:
public string Name { get; set; }
您应该能够通过使用在操作中使用ModelBinder
public ActionResult MyAction(string[] name)
{
foreach (var item in name)
{
// Process items
}
}
其中name
是Html.TextBoxFor()
自动赋予文本框的名称。
编辑:如果您希望将参数名称从name
更改为更具描述性的名称,您可以通过使用Html.TextBox
来实现这一点,尽管不需要键入:
@Html.TextBox("SomeMoreDescriptiveName", Model.Name);
然后在你的控制器动作:
public ActionResult MyAction(string[] SomeMoreDescriptiveName)
{
...
}
@foreach (var _item in Model.ListSurvey)
{
@Html.TextBoxFor(m=>m.Question, new { Value = @_item.Question })
}