我有一个搜索对象:
public class Search
{
[Display(Name = "First name:")]
[DataType(DataType.Text)]
public string fname { get; set; }
[Display(Name = "Surname:")]
[DataType(DataType.Text)]
public string sname { get; set; }
[Display(Name = "Date to (dob):")]
[DataType(DataType.Date)]
public DateTime? dateT { get; set; }
[Display(Name = "Date from (dob):")]
[DataType(DataType.Date)]
public DateTime? dateF { get; set; }
public Search()
{
/*
first_name = string.Empty;
surname = string.Empty;
dateT = null;
dateF = null;
*/
}
}
我已经在以下类中实例化了它:
public class MainModel
{
public UserML userLM;
public Search search;
public MainModel()
{
userLM = new UserML();
search = new Search();
}
}
主模型是我使用我的视图来填充搜索对象的模型,但我在提交时不断获得空值(在我的控制器中放置断点)
示例字段:
@Html.LabelFor(model => model.search.fname)
@Html.EditorFor(model => model.search.fname, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.search.fname, "", new { @class = "text-danger" })
模型传递给视图:
WebApp1.MainModel
这可能吗?有任何想法吗?
也看到了这个:
您已经创建字段的模式,而不是属性的MainModel
类,你需要给他们提供公开为属性get
,并set
让这些可以通过MVC的模型绑定器进行突变:
public class MainModel
{
public UserML userLM {get;set;} // note { get;set; }
public Search search {get;set;}
public MainModel()
{
userLM = new UserML();
search = new Search();
}
}
这现在将使模型绑定器能够正确地将值绑定回表单发布,模型绑定实际上不适用于字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句