mvc3 mvc2
区别<wbr><a href="http://bbs.51aspx.com/topictag-2196.aspx">MVC3.0</a><wbr><a href="http://bbs.51aspx.com/topictag-2986.aspx">mvc2.0</a><wbr></wbr></wbr></wbr>
摘要:为了赶上技术潮流,项目组计划把MVC版本从2.0升到3.0,通过研究MVC3.0英文教材,总结出如下4个MVC3.0和2.0的重要区别。
1. @ 符号在 View 页面中的用法:
C#代码以 @符号开头,例如
复制代码
如果你的代码中不是以 html 标记开头,也就是说你想在一段文本内部使用 C#代码的话,使用 @: 标记,例如
复制代码
你可以通过 @{ } 把一大块代码组织起来,例如
复制代码
假如你使用的是 html 标记开头的话,可以写成这样
Category: @Model.Category Splash!
建立强类型的 view 页面之后,页头中使用 @model (必须为小写字母)指明对象的类型,例如 @model Razor.Models.Product
引用命名空间在页头中使用 @using 例如 @using System.Data;
2. Controler 向 View 传值
以前的方法仍然可用,比如 return view(model) ,用于向强类型的页面传入对象,或者使用 ViewData
MVC3 又增加了 ViewBag ,这是一个动态类型,意思是说你可以不需要定义它的属性和数据类型,在使用的时候直接使用。
例如 ViewBag 根本没有 aaa 这个属性,也不知道 aaa 到底是什么类型,你可以直接 ViewBag.aaa=123 这样用,
系统自动给 ViewBag 增加一个 int 型的属性 aaa 并赋值 123 ,在 View 页面中可以直接调用 ViewBag.aaa 获取到 123
3.母板页的使用
在创建 view 的时候,如果勾选了“使用母板页”的复选框,但并没有指定母板页的名字,
系统默认使用的是 _ViewStart.cshtml 页面中通过 Layout 指定的母板页。
如果新创建的 View 中不需要母板页,则必须有以下代码:
复制代码
4. 呈现部分视图时使用 @Html.Action、@Html.Partial和@Html.RenderPartial 方法
<wbr><wbr> 语法如下:</wbr></wbr>
复制代码
1. @ 符号在 View 页面中的用法:
C#代码以 @符号开头,例如
-
Name: @Model.Name
- 以及
- <wbr><wbr><br></wbr></wbr>
- @if (Model.Category == "Watersports") {
- <wbr><wbr><wbr><wbr><p>@Model.Category <b>Splash!</b></p> <br></wbr></wbr></wbr></wbr>
- }
- @:Category: @Model.Category Splash!
- @{
- <wbr><wbr><wbr><wbr>if (Model.Category == "Watersports") {<br></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>@:Category: @Model.Category <b>Splash!</b><br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>}<br></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>if (Model.Price > 10) {<br></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><h5>Pricey!</h5> <br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>}<br></wbr></wbr></wbr></wbr>
- }
Category: @Model.Category Splash!
建立强类型的 view 页面之后,页头中使用 @model (必须为小写字母)指明对象的类型,例如 @model Razor.Models.Product
引用命名空间在页头中使用 @using 例如 @using System.Data;
2. Controler 向 View 传值
以前的方法仍然可用,比如 return view(model) ,用于向强类型的页面传入对象,或者使用 ViewData
MVC3 又增加了 ViewBag ,这是一个动态类型,意思是说你可以不需要定义它的属性和数据类型,在使用的时候直接使用。
例如 ViewBag 根本没有 aaa 这个属性,也不知道 aaa 到底是什么类型,你可以直接 ViewBag.aaa=123 这样用,
系统自动给 ViewBag 增加一个 int 型的属性 aaa 并赋值 123 ,在 View 页面中可以直接调用 ViewBag.aaa 获取到 123
3.母板页的使用
在创建 view 的时候,如果勾选了“使用母板页”的复选框,但并没有指定母板页的名字,
系统默认使用的是 _ViewStart.cshtml 页面中通过 Layout 指定的母板页。
如果新创建的 View 中不需要母板页,则必须有以下代码:
- @{
- <wbr><wbr><wbr><wbr>Layout = null;<br></wbr></wbr></wbr></wbr>
- }
4. 呈现部分视图时使用 @Html.Action、@Html.Partial和@Html.RenderPartial 方法
<wbr><wbr> 语法如下:</wbr></wbr>
- @Html.Action("PartialViewName")
- @Html.Partial("PartialViewName")
- @{ Html.RenderPartial("PartialViewName"); }