我是.Net开发的新手,现在正在关注NerdDinner教程.只是想知道你们中是否有人能告诉我
ViewData和ViewModel之间有什么区别
(我所知道的是他们习惯于将某些形式的数据从控制器传递到视图)并且可能告诉我应该在什么情况下使用ViewData而不是ViewModel,反之亦然
提前致谢!
出击
我正在尝试设置一个简单的下拉列表,但我似乎无法将其绑定到模型.我正在使用Asp.Net MVC和nhibernate.
我的下拉列表声明如下:
<%= Html.DropDownListFor(model => model.Project, (IEnumerable<SelectListItem>)ViewData["Projects"], " -- Select -- ", new { name = "Project" })%>
Run Code Online (Sandbox Code Playgroud)
我设置了这样的选择列表:
ViewData["Projects"] = new SelectList(projectRepository.GetAll(), "EntityGUID", "Name", editEntity.Project);
Run Code Online (Sandbox Code Playgroud)
这似乎将选择列表绑定到Dropdown罚款,但未设置SelectedValue.它显示为默认---选择---
此外,当我保存此数据时,下拉列表不会绑定到模型,我必须手动设置对象,以便保存它:
entity.Project = projectRepository.GetById(new Guid(Request["Project"].ToString()));
Run Code Online (Sandbox Code Playgroud)
我相信我已经采取了正确的方法让这个项目直接绑定到我的模型.这里有什么我想念的吗?
非常感谢你的时间,罗德