I'm new towards MVC3 Razor. Currently, I'm facing this error "Object reference not set to an instance of an object.", which I have no idea what is this about.
In Model
public List<SelectListItem> CatList { get; set; }
[Display(Name = "Category")]
public string CatID { get; set; }
In Controller
public ActionResult DisplayCategory()
{
var model = new CatModel();
model.CatList = GetCat();
return View(model);
}
private List<SelectListItem> GetCat()
{
List<SelectListItem> itemList = new List<SelectListItem>();
itemList.Add(new SelectListItem { Text = "1", Value = "1" });
itemList.Add(new SelectListItem { Text = "2", Value = "2" });
return itemList;
}
In CSHTML
@using (Html.BeginForm())
{
<table>
<tr>
<td>@Html.LabelFor(c => c.CatID)</td>
<td>@Html.DropDownListFor(c => c.CatID, Model.CatList)</td>
</tr>
</table>
}
Thanks for any help.
I suspect that you have a POST action in which you forgot to reassign the
CatList
property of your view model so you are getting the NRE when you submit the form, not when the form is initially rendered: