標籤:表達 子集 ntp demo 檔案的 快捷 資料庫檔案 routes 作用
一、ASP.NET 概述
1. .NET Framework 與 ASP.NET
.NET Framework包含兩個重要組件:.NET Framework類庫和公用語言進行時。編寫ASP.NET
頁面需要用到.NET Framework的架構類庫和公用語言進行時
2. ASP.NET MVC簡介
ASP.NET MVC是ASP.NET技術的一個子集,它是ASP.NET 技術和MVC模式的完美結合,類似於Java
平台的Struts架構
3.ASP.NET 的特色和優勢
1.對開發人員友好,開發效率高
2.方便設定斷點,易於調試
3.編譯後執行,運行效率高
二、建立第一個ASP.NET MVC應用
1.項目結構說明如下:
App_Data檔案夾:用來存放系統自主資料庫檔案
App_Start檔案夾:包含ASP.NET MVC系統啟動的相關類檔案
Controllers檔案夾:放置整個項目的控制器代碼檔案
Models檔案夾:放置整個項目的模型代碼檔案
Views檔案夾:放置整個項目的視圖代碼檔案
Views下的Web.config檔案:作用於視圖的設定檔
Global.asax檔案:全域應用程式檔案,一般和APPStart檔案夾中的類配合使用
packages.config檔案:用於管理項目用到的程式集版本
根目錄下的Web.config:作用於整個項目的設定檔
2.建立控制器
右擊解決方案中的“Controllers”檔案夾,在彈出的捷徑功能表中選擇“添加”--“控制器”選項
開啟“添加控制器”對話方塊
eg:
1 public class HomeController : Controller2 {3 public ActionResult Index()4 {5 return View();6 }7 }
Index()方法:控制器中的動作方法,用於響應用戶端請求,並調用響應的視圖向遊覽器
輸出資訊
3.建立和編寫視圖
在“Views”檔案夾中建立“Home”檔案夾,在“Home”下可建立視圖
4.ASP.NET MVC程式的工作原理
1.Global.asax檔案 主要是在系統啟動時做一些全域性的初始化工作,調用App_Start檔案夾
eg:
1 public class MvcApplication : System.Web.HttpApplication 2 { 3 protected void Application_Start() 4 { 5 AreaRegistration.RegisterAllAreas(); 6 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 7 RouteConfig.RegisterRoutes(RouteTable.Routes); 8 BundleConfig.RegisterBundles(BundleTable.Bundles); 9 }10 }
2.RouteConfig.cs
eg:
1 public class RouteConfig 2 { 3 public static void RegisterRoutes(RouteCollection routes) 4 { 5 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 6 7 routes.MapRoute( 8 name: "Default", 9 url: "{controller}/{action}/{id}",10 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }11 );12 }13 }
注意:"{controller}/{action}/{id}",其實就是定義的URL規則
使用http://localhost:1543/Home/Index/0訪問系統,系統會自動對應
5.視圖命名和定址的規則(在控制器中,使用View()方法調用視圖,返回和動作方法同名的視圖)
ASP.NET MVC架構的一大特點就是“約定勝於配置”,即一些規則是約定好的,不需要通過設定檔去配置
所有控制器都以Controller結尾
應用程式中所有視圖都有一個統一的Views主目錄
在Views主目錄下房子和控制器同名的子目錄
三、Web伺服器(IIS Express和程式開發伺服器)
如果正式發布的ASP.NET程式,則需要運行在另外一種Web伺服器IIS上
1.如何調試ASP.NET MVC程式?
需要在根目錄下的Web.config中配置:<compilation debug="true" targetFramework="4.5" />
其中,debug="true"即表示支援調試,在正式發布後,debug還需要設定為false
四、ASPX視圖
1.ASPX視圖的聲明和編碼
(1)、@Page指令的常用屬性
Language:指定頁面代碼和後置代碼使用的語言
Inherits:繼承的頁面類,ASPX視圖一般繼承的是System.Web.Mvc.ViewPage
ContentType:指定MIME類型和頁面回應時所採用的字元編碼方式
ValidateRequest:指定是否驗證請求
MasterPageFile:指定使用的母片視圖檔案
(2)、@Import指令(引入命名空間)
<% Import Namespace="MvcDemo.Helpers"%>
(3)、伺服器端內嵌文法
1)、小指令碼和運算式
eg:
1 <%2 //計算最大值3 int[] values={25,30,54,20};4 int max=0;5 foreach(int value in values){6 if(value>max)7 max=value;8 }9 %>
2)、伺服器端指令碼塊(可以定義一些方法和全域變數)
eg:
1 <script runat="server"> 2 string message="顯示最大值:"; 3 int GetMax(int[] values) 4 { 5 int max=0; 6 foreach(int value in values) 7 { 8 if(value>max) 9 max=value;10 }11 return max;12 }13 </script>14 <%=message+getMax(new int[]{25,70,85,50})%>
ASPX視圖運算式<%=%>還可以寫成<%:%>
2.母片視圖
1.建立母片視圖
母片視圖,一般放在Views下的一個固定檔案夾中,名為"Shared",在該檔案夾中,可以通過
右鍵捷徑功能表中的“添加” “建立項” 選擇開啟建立項視窗 選擇 MVC4視圖主版頁面
2.母片視圖和普通視圖的特殊之處
(1).頁面開頭是@Master指令,該指令也有相應的屬性,包括Language和Inherits屬性,它預設
繼承的基類為System.Web.Mvc.ViewMasterPage類
(2).頁面中包含兩處<asp:ContentPlaceHolder/>標記,該標記是伺服器端標記,它表示頁面內容的
容器及放置內容視圖的位置
3.使用模板視圖
要建立一個使用模板視圖的內容視圖,只需要勾選"使用布局或主版頁面"複選框,並選擇提前建立好的
母片視圖
(1)[email protected]指令聲明中多了MasterPageFile屬性的設定 是母片視圖檔案的路徑
(2).</asp:Content>標記,和母片視圖中的</asp:ContentPlaceHolder>標記對應
ASP.NET MVC概述及第一個MVC程式