Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#razor mvc textboxfor in-foreach循环_C#_Loops_View_Model_Foreach - Fatal编程技术网

c#razor mvc textboxfor in-foreach循环

c#razor mvc textboxfor in-foreach循环,c#,loops,view,model,foreach,C#,Loops,View,Model,Foreach,在foreach循环中如何从TextBoxForhelper检索数据?我的意思是: 他认为: foreach(Language l in ViewBag.Languages){ <td>@l.lang</td> <td>@Html.TextBoxFor(model => model.Name) } 顺便说一下,model.Name在MyModel.cs中定义为: public string Name { get; set; } 您应该

在foreach循环中如何从
TextBoxFor
helper检索数据?我的意思是:

他认为:

foreach(Language l in ViewBag.Languages){
    <td>@l.lang</td>
    <td>@Html.TextBoxFor(model => model.Name)
}
顺便说一下,model.Name在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)
{
    ...
}

如果我将模型作为参数传递,该怎么办?我的意思是,如果控制器是这样的:public ActionResult(MyModel model),我从模型中获取值?只要您在模型上有
string[]Name{get;set;}
,默认的ModelBinder仍然能够绑定到它。
public ActionResult MyAction(string[] SomeMoreDescriptiveName)
{
    ...
}
@foreach (var _item in Model.ListSurvey)
{
    @Html.TextBoxFor(m=>m.Question, new { Value = @_item.Question })

}