ASP.NET MVC概述及第一個MVC程式

來源:互聯網
上載者:User

標籤:表達   子集   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程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.