Asp.net mvc 如何检查每个表单控制器';s类型发布到操作方法?
视图: GetType()告诉我: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等。表单只回发名称/
[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}