MVC部分视图取值问题
用MVC 建立了一个EDIT页面
其中有个下拉列表用 部分视图显示,并选择相关项进行修改.
但我按提交的时候,报错了.
提示 部分视图那行语句.
未将对象引用设置到对象的实例。
[解决办法]
阅读Pro ASP.NET MVC 3 Framework这本书的第8、9章,应该可以解决你的问题。也可以参阅我在bbsMVC论坛(http://www.bbsmvc.com/mvclearn/thread-173-1-1.html)或博客园(http://http://www.cnblogs.com/r01cn/)关于这些章节翻译的帖子。
[解决办法]
可能是你给分布视图传递了一个viewdata[..]值.
你get的action里面给这个viewdata赋值了, 而post的action里面没给这个viewdata赋值.
[解决办法]
在页面加载是绑定下拉列表,同时在提交时如果发生错误也要绑定下拉列表
public ActionResult Create() { var db = new dbContent(); var list = from p in db.NewsType orderby p.SortId descending select p; ViewBag.TypeId = new SelectList(list, "TypeId", "TypeName"); return View(); } [HttpPost] [ValidateInput(false)] public ActionResult Create(News model) { try { using (var db = new dbContent()) { db.News.AddObject(model); db.SaveChanges(); return RedirectToAction("Index"); } } catch { var db = new dbContent(); var list = from p in db.NewsType orderby p.SortId descending select p; ViewBag.TypeId = new SelectList(list, "TypeId", "TypeName", model.NewsType.TypeId); return View(model); } }