C# .net MVC控制器是否接收动态表单字段提交值?

C# .net MVC控制器是否接收动态表单字段提交值?,c#,.net,asp.net-mvc,razor,C#,.net,Asp.net Mvc,Razor,在该方法的控制器中,我如何声明模型类型以及如何从Razor接收动态值?您可以使用列表来接收它们 像这样 [HttpPost] public ActionResult CarAddStudent(object model) { return View("Another"); } 和您的控制器: <input type="hidden" name="class1" value="123" /> <input type="hidden" name="it

在该方法的控制器中,我如何声明模型类型以及如何从Razor接收动态值?

您可以使用列表来接收它们 像这样

[HttpPost]
public ActionResult CarAddStudent(object model) {
    return View("Another");
}

和您的控制器:

    <input type="hidden" name="class1" value="123" />
    <input type="hidden" name="item1" value="456" />
    <input type="hidden" name="class2" value="789" />
    <input type="hidden" name="item2" value="1011" />
<input type="hidden" name="class[0]" value="123" />
<input type="hidden" name="item[0]" value="456" />
<input type="hidden" name="class[1]" value="789" />
<input type="hidden" name="item[1]" value="1011" />
[HttpPost]
public ActionResult CaradStudent(列表类,列表项){
返回视图(“其他”);
}
顺便说一句,“类”和“项”是相关的,因此您可能需要使用模型列表来接收,如下所示:

[HttpPost]
public ActionResult CarAddStudent(List<int> class,List<int> item) {
    return View("Another");
}
<input type="hidden" name="student[0].class" value="123" />
<input type="hidden" name="student[0].item" value="456" />
<input type="hidden" name="student[1].class" value="789" />
<input type="hidden" name="student[1].item" value="1011" />

然后,您的接收模型应该如下所示:

[HttpPost]
public ActionResult CarAddStudent(List<int> class,List<int> item) {
    return View("Another");
}
<input type="hidden" name="student[0].class" value="123" />
<input type="hidden" name="student[0].item" value="456" />
<input type="hidden" name="student[1].class" value="789" />
<input type="hidden" name="student[1].item" value="1011" />
[HttpPost]
公共行动结果CaradStudent(学生名单){
返回视图(“其他”);
}

类和项是学生类的属性

您可以使用列表来接收它们 像这样

[HttpPost]
public ActionResult CarAddStudent(object model) {
    return View("Another");
}

和您的控制器:

    <input type="hidden" name="class1" value="123" />
    <input type="hidden" name="item1" value="456" />
    <input type="hidden" name="class2" value="789" />
    <input type="hidden" name="item2" value="1011" />
<input type="hidden" name="class[0]" value="123" />
<input type="hidden" name="item[0]" value="456" />
<input type="hidden" name="class[1]" value="789" />
<input type="hidden" name="item[1]" value="1011" />
[HttpPost]
public ActionResult CaradStudent(列表类,列表项){
返回视图(“其他”);
}
顺便说一句,“类”和“项”是相关的,因此您可能需要使用模型列表来接收,如下所示:

[HttpPost]
public ActionResult CarAddStudent(List<int> class,List<int> item) {
    return View("Another");
}
<input type="hidden" name="student[0].class" value="123" />
<input type="hidden" name="student[0].item" value="456" />
<input type="hidden" name="student[1].class" value="789" />
<input type="hidden" name="student[1].item" value="1011" />

然后,您的接收模型应该如下所示:

[HttpPost]
public ActionResult CarAddStudent(List<int> class,List<int> item) {
    return View("Another");
}
<input type="hidden" name="student[0].class" value="123" />
<input type="hidden" name="student[0].item" value="456" />
<input type="hidden" name="student[1].class" value="789" />
<input type="hidden" name="student[1].item" value="1011" />
[HttpPost]
公共行动结果CaradStudent(学生名单){
返回视图(“其他”);
}

类和项是学生类的属性

您的模型属性名称必须与html输入控件的名称匹配,或者如果您希望控件具有相同的名称,则模型将使用与该名称匹配的数组来获取该名称。请参考您的模型属性名称必须与html输入控件的名称匹配,或者,如果您希望控件具有相同的名称,则模型将使用与该名称匹配的数组来获取该名称。您也可以删除
student
前缀。它应该是
name=“[0]”。类“
etc您可以删除
student
前缀。它应该是
name=“[0].class”
etc