当前位置 > 首页 > Asp.net

跟我一起学习ASP.NET 4.5 MVC4.0(六)

2012-7-21 11:47:00来源:Asp.net

这一系列文章跨度有点大,由于最近忙于其他事情,没有更新,今天重新安装了下Win8系统,VS2012和SQLServer 2012,顺便抽空继续一篇。随着VS2012 RC版本的放出,ASP.NET MVC4.0也随之有所改变,主要相对于BETA版本。前面几章节都是介绍MVC4.0或者是3.0中内容,今天我们来了解一下WebPage 2.0下面的一些变化。在MVC3.0中使用的是WebPage 1.0版本,这里主要是介绍一下在MVC4.0中对脚本以及样式表的引用变化等等。

 

一、可以直接使用“~”,而无需使用Href对象实例

这个是一大变化,给我们ASP.NET MVC开发人员带来了很便捷的代码书写方式,提高不少效率。在MVC3.0中加入我们需要加入一张图片时,需要在IMG标签的SRC属性加上Url.Content或Href对象方法等来对路径进行解析。在WebPage 2.0中Razor模板引擎能够自动解析基于根目录的路径,即可以直接使用“~”来表示根目录。

 MVC3:

<href="@Href("~/Default.cshtml")">Home</a> 

MVC4:

<href="~/Default.cshtml">Home</a>

 

 

二、CheckBox等可以根据Value自动隐藏checked属性

 在以前初始化一个CheckBox是否被选中,都需要额外写一个方法来判断是否在INPUT的CheckBox中加入checked属性。在MVC4.0中这个将被改变,这也是一个很赞的改进,具体可以看如下代码。

MVC3:

 1 <input type="checkbox"

2 name="check1"
3 value="check1"
4 @if(checked1){<text>checked="@checked1"</text>} />

MVC4:

 1 <input type="checkbox"

2 name="check1"
3 value="check1"
4 checked="@checked1" />

 只要checked1变量为false或null,将会隐藏checked属性,是不是一个很好的改进!!

 

三、使用System.Web.Optimization对脚本和样式表的操作

这个也是本章重点向描述的部分,首先我们可以使用VS2012RC来新建一个MVC4.0项目,版本可以为4.0或4.5。在Global.asax文件代码中,我们发现已经把过滤器,路由器,以及对样式表和脚本捆绑(Bundles)移到了其他页面,就是在根目录下的App_Start文件夹内。代码只是简简单单的几行,代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Configuration;
 4 using System.Data.Entity;
 5 using System.Data.Entity.Infrastructure;
 6 using System.Linq;
 7 using System.Web;
 8 using System.Web.Http;
 9 using System.Web.Mvc;
10 using System.Web.Optimization;
11 using System.Web.Routing;
12 
13 namespace MVC4
14 {
15     // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
16     // visit http://go.microsoft.com/?LinkId=9394801
17 
18     public class MvcApplication : System.Web.HttpApplication
19     {
20         

  • ASP.NET 4.0 Part 11, Configuring Routing Is Easier

    2010-3-11 13:45:00

    Welcome to part 11 of my tour through ASP.NET 4.0 . In this episode, we're going to take a loo

  • [原创]Picasa图片外联获取器

    2009-4-5 0:01:00

    摘要: 今天想为论坛找个放图片的地方,找来找去没个好地方,最后选择了Google的Picasa,晚上很多人说不是很稳定,当个人使用还是8错的,毕竟是google的东西;也不会出现yupoo突然限制你

  • 怎样创建比较漂亮的程序界面??使用VB.NET。

    2011-4-8 19:14:00

    用VB.NET语言怎样创建出比较漂亮的程序界面?? 比如仿真出QQ2011的界面(不需要功能),或者是360安全卫士的界面?? 感觉默认的界面不是很好看!!

  • 深入了解Jit编译发生的过程

    2009-9-3 17:15:00

    摘要: CLR是如何找到托管代码的入口方法并对其Jit的呢?Jit的发生过程是怎么样的呢?Jit编译器和Metadata表又有什么关系呢?本文试图寻找出答案,在此之前,不妨先了解一下CLR Head

  • How To Register An ASP.NET Custom Control

    2009-4-8 21:38:00

    Here is a quick post on how to register a custom ASP.NET control at the Page level or the Web.Confi

  • 我当程序员这两年的经历.

    2007-6-6 15:49:00

    当了两年多的程序员,喜怒哀乐什么都体验过了.被骂过,被表扬过,被看不起过,被侮辱过.几乎所有的程序员的成长阶段的事情都遇到过.下面我就说下我这几年的经历. 大专的最后一年我就找到了工作,对于每

  • EasyTools的联动下拉菜单使用详解

    2009-4-16 23:22:00

    摘要: 今天说下EasyTools的联动菜单怎么使用,下面是个效果图。主要介绍几个重要的属性:Big_Label是一级菜单(我有时候称其为大类)的标签,例如这个例子里面的“省,年级

  • 学习 CleanupStack

    2007-3-2 15:55:00

    听说开发Symbian程序,首要的也是最重要的之一,就是搞清楚CleanupStack CleanupStack 用起来貌似很简单,我写了如下代码: 假设我有一个叫 CFoo的类 CFo

  • My HP Mini Runs Visual Studio 2010

    2009-5-15 4:46:00

    Before my trip to India, I bought an HP Mini 2140 netbook . It is a beautiful machine. It weighs o

  • WatiN中给FreeTextBox控件赋值

    2007-3-28 14:28:00

    摘要: WatiN中给FreeTextBox控件赋值问题的一个解决办法。 阅读全文 分享 共赢 2007-03-28 13:28 发表评论