ASP.NET MVC教程:理解模型、視圖和控制器(4)

來源:互聯網
上載者:User
本文對ASP.NET MVC的模型、視圖和控制器做一次進階概述,換句話說,就是解釋ASP.NET MVC中的"M""V""C"。閱讀完本文後,你應該理解ASP.NET MVC中的各個部分是如何協同工作的,同時也應該知道ASP.NET MVC應用程式和ASP應用程式及ASP.NET Web表單應用程式之間的不同之處了。

  當一個ASP.NET應用程式第一次啟動時,會調用Application_Start()方法,在清單1中,這個方法叫做RegisterRoutes()方法,RegisterRoutes()方法建立預設路由表。

  預設路由表只有一條路由記錄,它將所有入站請求分成三段,第一段映射到控制器名字,第二段映射到行為名字,最後一段映射到傳遞給行為的參數Id。

  如下面的URL:

  /Product/Details/3

  這個URL被解析成下面三部分:

  Controller = ProductController

  Action = Details

  Id = 3

  注意尾碼Controller跟在Controller參數的結尾,這僅僅是MVC的一個怪癖。

  預設路由包括了這三段的預設值,預設控制器是HomeController,預設行為是Index,預設Id是Null 字元串,使用預設值時,思考一下下面的URL該如何解析:

  /Employee

  這個URL被解析成下面三段:

  Controller = HomeController

  Action = Index

  Id = ""

  請求被路由到HomeController類的Index()行為。

  理解控制器

  控制器控制使用者與ASP.NET MVC應用程式互動的方式,由控制器決定向發送了請求的使用者返回什麼內容。

  控制器就是一個類,ASP.NET MVC應用程式範例在控制器檔案夾下只包括了一個名叫HomeController.vb的控制器,HomeController.vb的內容如清單2所示。

  清單2 HomeController.vb

Public Class HomeController

   Inherits System.Web.Mvc.Controller

   Function Index()

     ViewData("Title") = "Home Page"

     ViewData("Message") = "Welcome to ASP.NET MVC!"

     Return View()

   End Function

   Function About()

     ViewData("Title") = "About Page"

     Return View()

   End Function

End Class

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.