一、ASP.NET 概述 1. .NET Framework 與 ASP.NET .NET Framework包含兩個重要組件:.NET Framework類庫和公共語言進行時。編寫ASP.NET 頁面需要用到.NET Framework的框架類庫和公共語言進行時 2. ASP.NET MVC簡介 ...
一、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 : Controller 2 { 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).@Page指令聲明中多了MasterPageFile屬性的設置 是母版視圖文件的路徑
(2).</asp:Content>標記,和母版視圖中的</asp:ContentPlaceHolder>標記對應