成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

走進ASP.NET MVC 3.0中的Razor模板引擎

開發 后端
今天我們要討論的是ASP.NET MVC 3.0中的Razor模板引擎,與大家分享關于Razor的一些感受。

隨著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. <!DOCTYPE html>   
  2.  <html>   
  3.  <head>   
  4.    <title>@ViewBag.Title</title>   
  5.   <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />   
  6.    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>   
  7.   @RenderSection("Head", required: true)   
  8.  </head>   
  9.  <body>   
  10.   <div class="page">  

以上代碼第7行,預留出一個Head的section。 熟悉模板頁的人,應該明白該處是預留是給未來具體的View頁面自定義特定js/css使用的。這個View我們就用默認的Home底下的Index來舉例。打開index.cshtml 寫入以下代碼

  1. @{   
  2.    ViewBag.Title = "Home Page";   
  3. }   
  4. h2>@ViewBag.Message</h2>   
  5. @section Head{   
  6.    <script type="text/javascript">   
  7.     $(function () {   
  8.         alert("hello jquery");   
  9.      });   
  10.    </script>   
  11. }  

該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呢?

原文鏈接:http://www.cnblogs.com/ryanding/archive/2011/01/19/1938690.html

【編輯推薦】

  1. 詳解ASP.NET MVC 3 beta新特性
  2. ASP.NET MVC 3讓依賴注入實現得更簡單
  3. 詳解ASP.NET MVC 3 beta新特性
  4. ASP.NET MVC 3新特性與NuPack功能詳解
  5. .NET開發人員應該關注的七個開源項目
     
責任編輯:彭凡 來源: 博客園
相關推薦

2010-12-07 09:38:15

ASP.NET MVC

2012-06-26 10:24:51

Asp.Net框架Razor

2021-06-22 16:59:56

微軟.NETC# 軟件開發

2009-10-09 10:52:43

ASP.NET模板引擎

2009-07-22 13:16:04

MvcAjaxPaneASP.NET MVC

2009-07-24 13:20:44

MVC框架ASP.NET

2009-07-31 12:43:59

ASP.NET MVC

2014-06-30 15:10:32

2009-10-29 09:15:32

ASP.NET MVCDropDownLis

2009-04-08 09:58:07

ASP.NET MVCTempData框架

2009-07-22 10:34:37

ActionInvokASP.NET MVC

2009-07-20 15:44:32

ASP.NET MVC

2009-07-22 09:11:02

Action方法ASP.NET MVC

2009-07-22 13:24:24

ASP.NET MVC

2009-07-22 10:09:59

ASP.NET MVC

2009-07-23 14:31:20

ASP.NET MVC

2009-07-23 15:44:39

ASP.NET MVC

2009-07-20 10:53:59

ASP.NET MVC

2011-09-22 10:58:56

ASP.NET

2011-04-14 09:19:22

ASP.NET MVC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一区中文字幕乱码 | 日本大片在线播放 | 国内精品视频一区二区三区 | 成人三级视频在线观看 | 美女久久 | 欧美日韩大片 | 亚洲www啪成人一区二区 | 中文在线www | 午夜精品久久久久久久久久久久 | 成人欧美一区二区三区黑人孕妇 | 九九热精品免费 | 99精品国产一区二区青青牛奶 | 午夜视频在线 | 一级大黄色片 | h小视频 | 色.com| 亚洲免费在线视频 | 国产亚洲欧美另类一区二区三区 | 欧美精品欧美精品系列 | 欧洲免费毛片 | 毛片一级片 | 成人a在线观看 | 99亚洲精品| 黄色片在线网站 | 亚洲视频免费在线 | 亚洲欧美一区二区三区国产精品 | 久久免费国产 | 请别相信他免费喜剧电影在线观看 | 亚洲成av | 久久精品毛片 | 亚洲欧美在线观看 | 午夜小电影 | 精品国产成人 | 剑来高清在线观看 | 黄色片免费看 | 亚洲国产精品久久久久婷婷老年 | 蜜臀久久| 97精品视频在线观看 | 国产在线精品一区二区三区 | 综合久久久久久久 | 欧美一区二区在线视频 |