我是asp.net mvc的新手。这可能是一个“幼稚”的问题。 : - )
我们可以使用两种方法(当然还有其他方法)从控制器内传递数据,如下所示:
ViewData.Model=obj;
return View();
或
return View(obj);
每种方法的优缺点是什么?
答案 0 :(得分:3)
两个片段都是相同的,第一个选项直接传递给对象模型,而第二个选项作为参数传递给View,但最终会传递给对象模型。
如果您查看View()
方法,可以看到内部调用的第一个代码段。
protected internal ViewResult View(object model) {
return View(null, null, model);
}
protected internal virtual ViewResult View(string viewName, string masterName, object model) {
if (model != null) {
ViewData.Model = model;
}
....
}
因此两者都是相同的,但第一种是直接的方法。
答案 1 :(得分:1)
从技术上讲,我认为没有任何区别......
我更倾向于使用第二种方法对我来说只是“感觉”更好......