Asp.net mvc 4 “的获取错误”;system.nullreferenceexception对象引用未设置为对象的实例;在下拉列表中
我在存储下拉列表的ID时遇到错误“system.nullreferenceexception对象引用未设置为对象的实例”。我已经浏览了很多网站和帖子,但我仍然被困在这个错误中。请帮我解决这个错误 型号:Asp.net mvc 4 “的获取错误”;system.nullreferenceexception对象引用未设置为对象的实例;在下拉列表中,asp.net-mvc-4,nullreferenceexception,Asp.net Mvc 4,Nullreferenceexception,我在存储下拉列表的ID时遇到错误“system.nullreferenceexception对象引用未设置为对象的实例”。我已经浏览了很多网站和帖子,但我仍然被困在这个错误中。请帮我解决这个错误 型号: [Required] [Display(Name = "Profession")] public virtual string professionid { get; set; } IEnumerable<SelectListItem> professio
[Required]
[Display(Name = "Profession")]
public virtual string professionid { get; set; }
IEnumerable<SelectListItem> professionList = new List<SelectListItem>();
public SelectList getProfession()
{
professionList = (from m in _db.ProfessionInfos select m).AsEnumerable().Select(m => new SelectListItem() { Text = m.P_Name, Value = m.P_id.ToString() });
return new SelectList(professionList, "Value", "Text", professionid);
}
视图:
@LabelFor(m=>m.professionid)
@Html.DropDownListFor(m=>m.professionid,Model.getProfession(),“选择专业”)
@Html.ValidationMessageFor(m=>m.professionid)
向您的型号添加一个属性选择列表职业ID
并在控制器上设置此属性的值,如:
model.ProfessionIds=model.getProfession()
现在您可以在视图中使用它,如:@Html.DropDownListFor(m=>m.professionid,Model.ProfessionIds,“选择职业”)
或者第二种方法是使用ViewBag将ProfessionID从控制器传递到视图:
控制器的操作方法如下所示:
var model = new M_Reg();
ViewBag.Ids=model.getProfession();
return View(model);
在你看来,使用
@Html.DropDownListFor(m=>m.professionid,(Selectlist)ViewBag.Ids,“Choose Profession”)
几乎所有的NullReferenceException
案例都是相同的。请参阅“”以获得一些提示。感谢Abhay的回答,但不幸的是,在这种情况下,这两种方法都不起作用。下拉ID存储在数据库中,但它给了我这个错误
<div class="editor-label">
@Html.LabelFor(m => m.professionid)
</div>
<div class="editor-field">
@Html.DropDownListFor(m => m.professionid,Model.getProfession(),"Choose Profession")
@Html.ValidationMessageFor(m => m.professionid)
</div>
var model = new M_Reg();
ViewBag.Ids=model.getProfession();
return View(model);