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

来源:http://www.cnblogs.com/songjianhui/archive/2017/06/23/7072033.html
-Advertisement-
Play Games

一、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>標記對應


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本人曾去某金融軟體公司面試,交流中面試官問的一個問題是:“如果有 A、B 兩張表,A 表中有 2 條數據,B 表中有 200 條數據,請問 SELECT FROM A,B 能查出多少條數據?”。 聽到這個問題的瞬間我就懵了,因為我自己也做過近兩年的面試官,所以我首先會想的就是他問這麼沒有實際意義(實 ...
  • 1、下載及安裝 請到官網下載:www.treesoft.cn,要最新的版本treeNMS, window系統下載直接解壓,就可以用了,免安裝,免佈署。 2、登錄及連接參數配置 登錄後,要配置連接參數信息,並測試連接是否成功!連接成功保存,刷新頁面一下。 3、狀態監控 treeNMS有狀態實時監控,及 ...
  • 這是我的SQL Server 2012 酸爽的安裝體驗,包括完全卸載SQL Server以及安裝過程中出現的錯誤的解決方案,分享出來,希望大家能少走彎路。 ...
  • [20170623]利用傳輸表空間恢復部分數據.txt--//昨天我測試使用傳輸表空間+dblink,上午補充測試發現表空間設置只讀才能執行impdp導入原數據,這個也很好理解.--//這樣的操作模式僅僅減少expdp生成原數據的過程.--//我想一下,rman也支持建立傳輸表空間的命令.我仔細看了 ...
  • 前言: 本文是對博客https://www.mssqltips.com/sqlservertip/2827/troubleshooting-sql-server-resourcesemaphore-waittype-memory-issues/的翻譯,本文基本直譯,部分地方讀起來有點不自然。 如有翻... ...
  • 構建本地光碟源 1、將本地光碟掛載/mnt下, mount /dev/cdrom /mnt 2、在/etc/yum.repos.d/目錄下創建自己的源文件,文件名稱自定義,必須以repo結尾, 3、此時把/etc/yum.repos.d/下原來存在的文件備份到別目錄下,即可使用本地光碟源 構建HTT ...
  • 轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/72929800 本文出自 "【趙彥軍的博客】" Fiddler抓包可以完成我們移動開發者的調試測試需求。但是多餘的網頁請求和手機的其他鏈接影響我們手機開發的需求。所以我們需要排除其他無 ...
  • 本篇文章介紹redhat7使用國內阿裡雲yum安裝源的方法,源地址使用的https://mirrors.aliyun.com/對應使用Centos7下的安裝源。文中是自己在安裝阿裡雲yum包和更新yum源地址所做的操作,本人也是新手,如有不足之處請指正。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...