将文本框值传递给控制器​​类

时间:2017-08-22 06:31:36

标签: c# asp.net-mvc razor

如何将值从文本框传递到控制器类文件?

 for(int i =0 ; i< 5 ; i ++)
{
 <div>
      <input class="form-control" name="@("test"+i)" value="">
 </div>
}

testController.cs

 public ActionResult Create(String[] test)
 {
       //???
  }

3 个答案:

答案 0 :(得分:0)

您需要将所有文本框放在表单中,以便在您按表单提交时发布它们。

如果您需要将所有值作为数组推送,则需要将文本框命名为数组。就像

<input type="text" name="test[0]" id="test_0"/>
<input type="text" name="test[1]" id="test_1"/>

修改

感谢Stephen ans Tetsuya在下面的评论,它似乎已在问题here中得到解答。

因此,如果要在控制器中接收普通字符串数组,只需要将所有文本框命名为同名。即name =“test”

答案 1 :(得分:0)

 @for(int i =0 ; i< 5 ; i ++)
{
 <div>
      <input class="form-control" name="test" value="">
 </div>
}

和控制器;

public ActionResult Create(List<string> test)
 {

 }

它会自动将值传递为List<>。之后,您可以在控制器中使用foreach提取它

答案 2 :(得分:0)

你应该使用Html.BeginForm在代码方面你可以通过表示方法访问Post方法。您必须在方法顶部添加[POST]标记,并根据需要编写参数。