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 ...
随机推荐
- 南阳oj27题
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上 ...
- 安装Elasticsearch,Logstash,Kibana(5.0.1-mac版)
安装Elasticsearch 1.下载https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.1.tar.gz包 ...
- oracle的用户
1:创建用户 create user zhaoyb identified by zhaoyb default tablespace HUAPUSALEDB create user 用户名 identi ...
- 夺命雷公狗---微信开发17----自定义菜单的事件推送,响应菜单的CLICK
废话不多说,index.php 代码如下所示: <?php /** * wechat php test */ //define your token require_once "com ...
- [Ubuntu] Ubuntu13.04, the desktop freezed after login
My os version is Ubuntu13.04, today, after started and logined, my desktop freezed. But i can still ...
- Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤
资源文件一般为扩展名为res的文件,其自带的资源编译工具BRCC32.EXE(位于/Delphi/BIN目录下) 1.编写rc脚本文本 用记事本或其它文本编辑器编写一个扩展名为rc的文件,格式分别为在 ...
- SqlParameter
List<SqlParameter> parameters = new List<SqlParameter>(); SqlParameter param; foreach (. ...
- [翻译] 使用ASP.NET MVC操作过滤器记录日志
[翻译] 使用ASP.NET MVC操作过滤器记录日志 原文地址:http://www.singingeels.com/Articles/Logging_with_ASPNET_MVC_Action_ ...
- A4纸网页打印——宽高设置
一.在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dot Per Inch)指标. 经过我仔细的测试,发现了网页打印中,默认采用的是96dpi,并非传闻的72dpi . A4纸张的尺寸是2 ...
- linux与KVM虚拟里的windows实现文件共享
1.把windows系统里的共享文件设置为共享 2.在linux系统里 mount -t cifs //192.168.0.254/work /data/tmp -o username=test,pa ...