Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
Asp.net mvc 如何检查每个表单控制器';s类型发布到操作方法?_Asp.net Mvc_Forms_Formcollection - Fatal编程技术网

Asp.net mvc 如何检查每个表单控制器';s类型发布到操作方法?

Asp.net mvc 如何检查每个表单控制器';s类型发布到操作方法?,asp.net-mvc,forms,formcollection,Asp.net Mvc,Forms,Formcollection,视图: GetType()告诉我: [HttpPost] public ActionResult Index(FormCollection collection) { foreach (var key in collection.AllKeys) { var typee = collection.GetType(); } return View(); } 我想知道第一个控制器是Textbox类型,另一个是Checkbox等。表单只回发名称/

视图:

GetType()告诉我:

[HttpPost]
public ActionResult Index(FormCollection collection)
{
    foreach (var key in collection.AllKeys)
    {
       var typee = collection.GetType();   
    }

    return View();
}

我想知道第一个控制器是Textbox类型,另一个是Checkbox等。

表单只回发名称/值对,而不回发用于生成它们的控件的任何信息。您是说唯一的方法是从控制器的值推断。比如说“真的,flase”,所以它是一个复选框。但编辑器的值可能为true,也可能为false。这就是问题所在使用视图模型,使用强类型助手绑定模型的属性,然后发回模型(而不是
FormCollection
),我看不出有任何理由要求控制器知道哪种GUI元素创建了特定值。很可能你应该改进你模型的结构。这是一个CMS。前端开发人员修改表单。
[HttpPost]
public ActionResult Index(FormCollection collection)
{
    foreach (var key in collection.AllKeys)
    {
       var typee = collection.GetType();   
    }

    return View();
}
collection.AllKeys.GetType()    
{Name = "String[]" FullName = "System.String[]"}    System.Type {System.RuntimeType}