MVC2.0==>MVC3.0
总结出如下4个MVC3.0和2.0的重要区别。
1. @ 符号在 View 页面中的用法:
C#代码以 @符号开头,例如
1 <h2>Name: @Model.Name</h2>2 3 以及4 5 @if (Model.Category == "Watersports") { 6 <p>@Model.Category <b>Splash!</b> </p> 7 }
如果你的代码中不是以 html 标记开头,也就是说你想在一段文本内部使用 C#代码的话,使用 @: 标记,例如
@:Category: @Model.Category <b>Splash!</b>
你可以通过 @{ } 把一大块代码组织起来,例如
@{ if (Model.Category == "Watersports") { @:Category: @Model.Category <b>Splash!</b> } if (Model.Price > 10) { <h5>Pricey!</h5> }}
假如你使用的是 html 标记开头的话,可以写成这样
<span>Category: @Model.Category <b>Splash!</b></span>
建立强类型的 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 中不需要母板页,则必须有以下代码:
@{ Layout = null;}
4. 呈现部分视图时使用 @Html.Action、@Html.Partial和@Html.RenderPartial 方法
语法如下:
@Html.Action("PartialViewName")@Html.Partial("PartialViewName")@{ Html.RenderPartial("PartialViewName"); }
MVC2.0==>MVC3.0的更多相关文章
- MVC3.0与MVC2.0的区别
昨天面试时第一回用MVC2.0做了一个简单的增删改查功能的测试.想一下用了一年多的MVC3.0,对这两个版本不同之处做以下几点总结: 最明显的是MVC3.0较MVC2.0而言,多了Razor视图: 1 ...
- MVC3.0 中Razor 学习
随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指出. ...
- Log4Net异常日志记录在asp.net mvc3.0的应用
前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual ...
- 系统补丁更新导致MVC3.0.0升级到3.0.1的问题解决
在更新了系统补丁之后,会不知觉的将MVC3.0.0升级到MVC3.0.1的问题,解决的思路如下: 1.全部MVC引用使用NuGet进行包的管理. 2.单独把MVC库抽离出来,然后放在单独的项目文件夹, ...
- MVC3.0学习笔记之元模型元数据ModelMetaData以及模型元数据提供系统
模型元数据ModelMetaData是MVC中很重要的概念,它包括但不仅限于 模型的类型,模型包含了哪些属性,属性都是什么类型的,属性上都有什么特性. ASP.NET MVC3.0 提供了默认的模型元 ...
- Log4Net异常日志记录在asp.net mvc3.0的应用(转载)
这篇博客写的很好:http://www.cnblogs.com/qianlifeng/archive/2011/04/22/2024856.html 前言 log4net是.Net下一个非常优秀的开源 ...
- Asp.Net MVC3.0网站统计登录认证的在线人数
Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这 ...
- asp.net mvc3.0第一个程序helloworld开发图解
步骤一:新建asp.net mvc3.0项目 (选择Razor模板) 步骤二:创建控制器 步骤三:控制器源码内右键创建对应视图 步骤四:控制器内添加代码 步骤五:视图页面输出内容 步骤六:F5调试
- mvc3.0中[ValidateInput(false)]失效的问题
在asp.net mvc3.0中[ValidateInput(false)]特性失效了,只需要在网站根目录中的web.config中做如下配置即可: <system.web> <ht ...
随机推荐
- ACdream 1157 Segments(CDQ分治)
题目链接:http://acdream.info/problem?pid=1157 Problem Description 由3钟类型操作:1)D L R(1 <= L <= R < ...
- Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效
问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知 ...
- paper 45:latex的使用
本教程面向对LaTeX完全无认知无基础的新人. 旨在让新人能够用最简单快捷的方式,轻松入门,能够迅速使用LaTeX完成基本的文本编辑. 尤其旨在破除部分新人对LaTeX在传闻中难以学习的恐惧感. 在入 ...
- 10.Java设计模式 工厂模式,单例模式
Java 之工厂方法和抽象工厂模式 1. 概念 工厂方法:一抽象产品类派生出多个具体产品类:一抽象工厂类派生出多个具体工厂类:每个具体工厂类只能创建一个具体产品类的实例. 即定义一个创建对象的接口(即 ...
- 夺命雷公狗jquery---4内容选择器
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 关于nandflash与norflash
读取速度:nor > nand 写入速度:nand > nor 擦除速度:nand 4ms,nor 5s nand的擦除单元更小,相应的擦除电路更少. nand的实际应用方式比nor复杂, ...
- zw版【转发·台湾nvp系列例程】HALCON ShapeTrans(Delphi)
zw版[转发·台湾nvp系列例程]HALCON ShapeTrans(Delphi) procedure TForm1.Button1Click(Sender: TObject);var img: H ...
- UIImageView(转)
UIImageView,顾名思义,是用来放置图片的.使用Interface Builder设计界面时,当然可以直接将控件拖进去并设置相关属性,这就不说了,这里讲的是用代码. 1.创建一个UIImage ...
- UIViewController启动过程
流程:判断是否view属性为nil,如果为空,调用loadView方法,如果重写了loadView方法,那么从代码创建普通视图,如果没有重写并且有storyBoard或者xib文件,那么从storyB ...
- HTML5 Web app开发工具Kendo UI Web中Grid网格控件的使用
Kendo UI Web中的Grid控件不仅可以显示数据,并对数据提供了丰富的支持,包括分页.排序.分组.选择等,同时还有着大量的配置选项.使用Kendo DataSource组件,可以绑定到本地的J ...