asp.net mvc 4.0的部署

只要服务器支持 .NET 4,那么就能够在上面生成和部署 ASP.NET MVC 3 应用程序。

方法一(正常方法):安装 ASP.NET MVC 3 到机器上,程序集会安装到 GAC 中,机器上所有的 Web 项目都可以引用/使用 GAC 中的这些程序集

方法二:把 ASP.NET MVC 3 的程序集复制到 Web 项目的 /bin 文件夹中,然后让此 Web 项目引用/使用程序集

方法二的做法在另一篇blog中(http://drew-prog.blogspot.com/2011/01/how-to-deploy-aspnet-mvc-3-app-to-web.html,),步骤如下:

第1步:添加对 MVC 以及它依赖的程序集的显式引用。在VS中添加以下程序集:

  • Microsoft.Web.Infrastructure
  • System.Web.Helpers
  • System.Web.Mvc
  • System.Web.Razor
  • System.Web.WebPages
  • System.Web.WebPages.Deployment
  • System.Web.WebPages.Razor

第2步:将“复制到本地”属性修改为True。这会使这些程序集被复制到 /bin 文件夹中。

第3步:以正常过程重新生成和部署项目。

 

随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0。同时打算在MVC3中全面使用Razor模板引擎。现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指出。

     其实在使用<%= %>在html中调用C#代码时,内心总在埋怨。这个写法非常麻烦。麻烦在哪呢?其实就是闭合。比如:

     Asp.net: <script src="<%=Url.Content("~/Scripts/jquery-1.4.4.min.js")%>"

     Razor:   <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" 

非常明显,Razor在内部帮我们做了闭合“%>”。其实就是这个小小的闭合让我们可以在html内更加“流畅”的调用服务端代码。故Razor给开发带来了一定的便捷!下面介绍Razor的基本用法。

     一、模板页



       Razor出现后我们就可以选择不再使用asp.net master 模板页。取而代之的是cshtml razor的模板文件。用法个人认为还是和master模板页类似。但在mater模板页的原有功能上有了进一步扩展,更方便开发。比如只要在View文件夹内加入_ViewStart.cshtml文件,我们就无需在每一个具体的View页面引入模板页。减少View页面内的重复代码。具体的可以建立一个MVC3 Application 选择razor模板,VS会自动建立上述机制。这里值得提出的是@RenderSection方法。可以让我们在模板页预设一个区域,未来给继承该模板页的View使用。具体请看以下操作:

   在MVC3.0 shared文件夹下_Layout.cshtml这个模板文件内加入以下代码:

?


1

2

3

4

5

6

7

8

9

10

<!DOCTYPE html>

<html>

<head>

    <title>@ViewBag.Title</title>

    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />

    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>

    @RenderSection("Head", required: true)

</head>

<body>

    <div class="page">

 

 

以上代码第7行,预留出一个Head的section。 熟悉模板页的人,应该明白该处是预留是给未来具体的View页面自定义特定js/css使用的。这个View我们就用默认的Home底下的Index来举例。打开index.cshtml 写入以下代码

?


1

2

3

4

5

6

7

8

9

10

11

@{

    ViewBag.Title = "Home Page";

}

<h2>@ViewBag.Message</h2>

@section Head{

    <script type="text/javascript">

        $(function () {

            alert("hello jquery");

        });

    </script>

}

 

 

该View已经集成了模板页,这里只是填充模板页内的Head section这时就可以加入我们的针对每个view页面的js或者CSS了。至此达到共性外的个性。

 

    二、Razor语法:



    文章开头就已经提到了,个人认为Razor语法的便捷在于razor自动帮助我们闭合C#或VB.NET在html的语法。请看以下代码:

已经给出注释了,仔细阅读并不难理解。您应该也能体会到如果将razor换成asp.net的<%= %>或者<%: %>写法,其实是很“痛苦”的。至于razor的其他用法官方网站已经写的很全面了,比如razor的已经为我们 HTML Encod防止XSS攻击、html中字符串中出现×××@×××.com这样的文本,Razor是可以自动识别成Email格式而不是Razor的关键字。

    三、 Razor 语法智能提示:



     该智能提示与VS内的一样,只需Ctrol + J 即可调出。具体的请看下图:

您是否和我一样也打算在Web开发中全面使用Razor呢?本文的例子在这里下载

时间: 2024-10-23 18:02:44

asp.net mvc 4.0的部署的相关文章

将ASP.NET MVC 2.0部署在IIS6和IIS7上的教程

我的程序开发环境: 系统:Win7 IIS:IIS7 开发工具:VS2008 SP1 MVC版本:ASP.NET MVC 2.0 RC 在部署MVC应用之前,一定要确保你的程序BIN文件夹下面是否包含 System.Web.Mvc.dll(非常重要),如图: 如果没有, 请在你的MVC项目中,打开引用列表,如图: 鼠标右键点击System.Web.Mvc,选择"属性",转到下面窗口: 将"复制本地"设为True (默认为False),然后生成一下项目,System.

将ASP.NET MVC 2.0 部署在IIS6和IIS7上的教程

原文:http://www.cnblogs.com/taven/archive/2010/01/13/1646244.html   我的程序开发环境: 系统:Win7  IIS:IIS7 开发工具:VS2008 SP1 MVC版本:ASP.NET MVC 2.0 RC   在部署MVC应用之前,一定要确保你的程序BIN文件夹下面是否包含 System.Web.Mvc.dll(非常重要),如图:   如果没有, 请在你的MVC项目中,打开引用列表,如图:    鼠标右键点击System.Web.M

一起谈.NET技术,将ASP.NET MVC 2.0 部署在IIS6和IIS7上的教程

开发环境:Win7+IIS7+VS2008 SP1+ASP.NET MVC 2.0 RC 在部署MVC应用之前,一定要确保你的程序BIN文件夹下面是否包含 System.Web.Mvc.dll(非常重要),如图: 如果没有, 请在你的MVC项目中,打开引用列表,如图:   鼠标右键点击System.Web.Mvc,选择"属性",转到下面窗口: 将"复制本地"设为True (默认为False),然后生成一下项目,System.Web.Mvc.dll就会出现在BIN文件

ASP.NET MVC 1.0浅析

为什么要用ASP.NET MVC 1.0?当我刚知道1.0发布的时候,经常这样问. 最近正在考虑是否在我们的企业级应用中使用ASP.NET MVC 1.0框架,因此会一直找使用它的理由,希 望大家在关注技术的同时,结合企业应用谈谈自己的看法. 1.MVC的组成 Models:访问数据库,装载数据.处理业务逻辑.在项目中体现为数据实体类加业务代理类. Views:显示数据,用户界面.在项目中体现为aspx页面,偶尔可以加上code-behind. Controller:按路由规则将请求的数据传送给

深入分析ASP.NET Mvc 1.0 – 3

深入分析ASP.NET Mvc 1.0 – 3. Controller.Execute(Request)-ActionInvoker.InvokeAction() 上次讲到Controller中的ExecuteCore方法分为三个部执行: TempData.Load(ControllerContext, TempDataProvider) ActionInvoker.InvokeAction(ControllerContext, actionName) TempData.Save(Control

深入分析ASP.NET Mvc 1.0 – 2

深入分析ASP.NET Mvc 1.0 – 2. Controller.Execute(Request)-TempDataDictionary的Load与Save操作 Controller最终是通过调用ControllerBase类的Execute(RequestContext)方法来完成 一个Action的创建与执行操作,代码如下: protected virtual void Execute(RequestContext requestContext) { if (requestContex

返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作

原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作 [索引页][源码下载] 返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作

返璞归真 asp.net mvc (12) - asp.net mvc 4.0 新特性之移动特性

原文:返璞归真 asp.net mvc (12) - asp.net mvc 4.0 新特性之移动特性 [索引页][源码下载] 返璞归真 asp.net mvc (12) - asp.net mvc 4.0 新特性之移动特性 作者:webabcd 介绍asp.net mvc 之 asp.net mvc 4.0 新特性之移动特性 为不同的客户端提供不同的视图 手动重写 UserAgent,从而强制使用对应的视图 示例1.演示如何为不同的客户端提供不同的视图Global.asax.cs /* * 为

返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller

原文:返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller [索引页][源码下载] 返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller 作者:webabcd 介绍asp.net mvc 之 asp.net mvc 3.0 新特性之 Controller: Global Action Filter 可以在标记为 ChildActionOnly 的 Action 上使用 OutputCa