Jas*_*onH 6 asp.net-mvc html.dropdownlistfor asp.net-mvc-4 dropdownlistfor
我准备好解决这个问题.我是MVC的新手,但对它已经很熟悉了.
我试图在视图上放置一个下拉列表,但在调用DropDownListFor的行上不断获得"对象引用未设置为对象的实例".这就是我所拥有的:
模型
public class UserModel
{
public class DietObject
{
public int Id { get; set; }
public string Name { get; set; }
}
public IEnumerable<DietObject> DietOptions = new List<DietObject>
{
new DietObject { Id = 0, Name = "Meat" },
new DietObject { Id = 1, Name = "Vegetarian" }
};
[Required]
[StringLength(15)]
[Display(Name = "Diet:")]
public string Diet { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
调节器
[HttpGet]
public ActionResult Registration()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
视图
<div class="fHeader">
<%: Html.LabelFor(m => m.Diet) %>
</div>
<div class="fText">
<%: Html.DropDownListFor(m => m.Diet, new SelectList(Model.DietOptions, "Id", "Name", Model.DietOptions.First().Id))%>
<%: Html.ValidationMessageFor(m => m.Diet)%>
</div>
Run Code Online (Sandbox Code Playgroud)
错误
在页面加载期间,它在此行上出错:
<%: Html.DropDownListFor(m => m.Diet, new SelectList(Model.DietOptions, "Id", "Name", Model.DietOptions.First().Id))%>
Run Code Online (Sandbox Code Playgroud)
有人让我摆脱了痛苦.非常感激.
nem*_*esv 11
如果要直接访问Model视图中的属性(在本例中为写入Model.DietOptions),则需要View在控制器中调用时传入模型实例:
[HttpGet]
public ActionResult Registration()
{
return View(new UserModel());
}
Run Code Online (Sandbox Code Playgroud)
否则Model将是null,你将得到一个nullrefence excpetion.
| 归档时间: |
|
| 查看次数: |
9467 次 |
| 最近记录: |