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 ...
随机推荐
- shell学习笔记(1)-变量
1.shell中的变量可以自定义,shell中使用变量时用$ name="shero"echo "hi ${name}" root@shero-virtual- ...
- Codeforces Round #288 (Div. 2)
A. Pasha and Pixels 题意就是给一个n*m的矩阵,k次操作,一开始矩阵全白,一次操作可以染黑一个格子,问第几次操作可以使得矩阵中存在一个2*2的黑色矩阵.直接模拟即可 代码: ...
- 1019: A+B和C比大小
1019: A+B和C比大小 时间限制: 1 Sec 内存限制: 128 MB提交: 518 解决: 300[提交][状态][讨论版] 题目描述 给定区间[-231, 231]内的3个整数A.B和 ...
- session 和 cookie 的区别与联系
1.创建一个新的Cookie Cookie cookie = new Cookie("username",name); 2.设置cookie在客户端上存活多久 cookie.set ...
- register_shutdown_function
脚本时常死掉,而且并不总是那么好看. 我们可不想给用户显示一个致命错误,又或者一个空白页(在display_errors设为off的情况下) . PHP中有一个叫做 register_shutdow ...
- BackgroundWorker的使用
一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能. 基本操作: bgw.RunWorkerAsync ...
- 有关dwr推送的笔记
想做一个web推送相关的东东,昨天搞了一天,终于把这些杂乱的配制弄清了,今天写出来方便以后记住,也方便大家看一下吧 1:引入dwr包,我用的是maven <dependency> < ...
- (转)oracle 查看表所占用的空间大小
1.查看表所占空间 SELECT TABLESPACE_NAME,TO_CHAR(SUM(BYTES)/(1024*1024),'999G999D999') CNT_MB FROM ...
- Java 中的System.exit
在java 中退出程序,经常会使用System.exit(1) 或 System.exit(0). 查看System.exit()方法的源码,如下 /** * Terminates the curre ...
- 【crunch bang】国内源
/etc/apt/sources.list 因为测试需要,装完Debian7 后,更新为163的源,但是后来装软件时,一些软件依赖包还是装不上.后来把163源稍加改动,就好用了.163源内容如下: d ...