我已经搜索了几个小时,但找不到我正在寻找的答案。我有以下内容:
(存储库.cs)
public class AppRespository
{
private DataContext db = new DataContext();
public IEnumerable<SelectListItem> LoadStates()
{
var query = from d in db.States.ToList()
select new SelectListItem
{
Value = d.StateID.ToString(),
Text = d.State.ToString()
};
return query;
}
}
数据上下文.cs
public class DataContext : DbContext
{
public DbSet<States> States { get; set; }
}
视图模型 (States.cs)
public class States
{
[Key]
public int StateID { get; set; }
public IEnumerable<SelectListItem> State { get; set; }
}
控制器 (ApplicantController.cs)
// GET: /Applicant/
public ActionResult Index()
{
AppRespository repo = new AppRespository();
States viewModel = new States();
viewModel.State = repo.LoadStates();
return View(viewModel);
}
看法:
@Html.DropDownListFor(model=>model.StateID, Model.State, "select")
为什么在调试我的应用程序时,我的存储库类的这一行为空?
Text = d.State.ToString(),
State 始终为 null,而 StateID 始终被设置。在只使用我的模型和控制器之前,我已经成功加载了这个下拉列表,但我喜欢这种模式。我是 ASP MVC 的中级人员,所以我可能遗漏了一些东西。
任何帮助表示赞赏。