MVC3.0与MVC2.0的区别
昨天面试时第一回用MVC2.0做了一个简单的增删改查功能的测试。想一下用了一年多的MVC3.0,对这两个版本不同之处做以下几点总结:
最明显的是MVC3.0较MVC2.0而言,多了Razor视图:
1.项目添加视图时MVC2.0会提示要不要套用母版页,MVC3.0默认母版页是 _ViewStart.cshtml, 页面中通过 Layout 指定的母版页。
2.页面中MVC3.0用@引用逻辑代码或属性,用@model(需小写)可以指明对象,有它赋值特别方便。用@Html.… …写控件。ex:
@Html.DropDownListFor(m => m.taskinfoid, new SelectList(ViewData["Typelist"] as IEnumerable<DailyWork.Models.typemode>,
"value", "text"))
MVC2.0页面中是在<% …… %>里写逻辑代码的。
3.Razor视图中用@Url.Content("")引用文件,用@Url.Action("","");实现跳页,用下面方法可以引入部分视图:
@Html.Action("PartialViewName")
@Html.Partial("PartialViewName")
@{ Html.RenderPartial("PartialViewName"); }
4.Razor视图中如果有model, Controller里第二个Action中也要返回model.return View(model);