我有RegisterModel
,我需要为SelectCountryID
设置默认值,并在控制器中传递该值,但是当我这样做时,我收到错误:
"对象引用未设置为对象的实例。"
public class RegisterModel
{
public RegisterModel()
{
SelectCountryID=1;
}
public int SelectCountryID {get;set;}
}
控制器:
int test = Model.Register.SelectCountryID;
编辑:
IndexPageModel model = new IndexPageModel();
model.Register = new RegisterModel
{
int test = model.Register.SelectCountryId,
Country = new SelectList(manager.GetCountries(), "Id", "Name"),
WebTypeOfLicense = new SelectList(CommonDbService.GetAllLicense(), "Id", "Name"),
Region = new SelectList(manager.GetRegions(model.Register.SelectCountryId), "Id", "Name"),
};
答案 0 :(得分:1)
问题在于您实例化模型的方式。
model.Register = new RegisterModel{...}
这将在调用构造函数之前执行{}
之间的内容。此外,您无法在大括号内定义新变量,如
{int test = model.Register.SelectCountryId,...}
在控制器中,您需要创建一个新的模型实例,如
RegisterModel model = new RegisterModel();
int test = model.SelectCountryID;
答案 1 :(得分:1)
你使用system.ComponentModel.DefaultValue属性
[System.ComponentModel.DefaultValue(0)]
public int SelectCountryID { get; set; }