读书人

MVC部分视图取值有关问题

发布时间: 2012-03-05 11:54:01 作者: rapoo

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赋值.
[解决办法]
在页面加载是绑定下拉列表,同时在提交时如果发生错误也要绑定下拉列表

C# code
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);            }        } 

读书人网 >asp.net

热点推荐