成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學習ASP.NET MVC路由的使用方法

開發 后端
本文介紹ASP.NET MVC路由的使用方法。mvc中一個重要的特性即asp.net routing。這個模塊用來把用戶的請求映射到特定的mvc controller actions。

這里,我們將學習到mvc中一個重要的特性即asp.net routing。這個模塊用來把用戶的請求映射到特定的mvc controller actions,看完這篇將可以知道標準路由表是怎么把請求映射到controller action的。

使用默認ASP.NET MVC路由表

當創建好一個mvc應用后,應用已經被配置好可以用asp.net routing了。ASP.NET MVC路由在兩個地方被激發。

一、asp.net routing在web.config中被激活,有關route的配置有四個配置節:system.web.httpModules , system.web.httpHandlers , system.webserver.modules, the system.webserver.handlers,刪除這些配置節時要小心,因為沒有它們routing將不再工作。

二、更重要的是,在global.asax文件中已經創建了路由表,global.asax是一個包含了asp.net應用生命周期內事件句柄的特殊文件。路由表在Application Start 事件中被創建。

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.Mvc;  
  6. using System.Web.Routing;  
  7.  
  8. namespace MvcApplication1  
  9. {  
  10.     // Note: For instructions on enabling IIS6 or IIS7 classic mode,   
  11.     // visit http://go.microsoft.com/?LinkId=9394801  
  12.  
  13.     public class MvcApplication : System.Web.HttpApplication  
  14.     {  
  15.         public static void RegisterRoutes(RouteCollection routes)  
  16.         {  
  17.             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");  
  18.  
  19.             routes.MapRoute(  
  20.                 "Default",                                              // Route name  
  21.                 "{controller}/{action}/{id}",                           // URL with parameters  
  22.                 new { controller = "Home", action = "Index", id = "" } // Parameter defaults  
  23.             );  
  24.  
  25.         }  
  26.  
  27.         protected void Application_Start()  
  28.         {  
  29.             RegisterRoutes(RouteTable.Routes);  
  30.         }  
  31.     }  
  32. }  

當程序運行后,Application_Start() 方法被調用,同時調用方法內的RegisterRoutes() 方法。這個方法創建了路由表。

默認的ASP.NET MVC路由表中只含有一個叫做default的路由。這個默認路由把url拆分成三個部分分別對應controller,action和View。

當請求URL:/Home/Index/3時,下列代碼執行:HomeController.Index(3)。

如果不指定controller,則默認為Home,不指定Action則默認為Index,不指定參數則默認為空。

我們將通過例子來看一下到底默認路由是怎么把URl映射到controller和action的。想象我們在地址欄中輸入了如下URL:

/Home

由于默認action為Index,所以下面的方法被調用

  1. using System.Web.Mvc;  
  2.  
  3. namespace MvcApplication1.Controllers  
  4. {  
  5.     [HandleError]  
  6.     public class HomeController : Controller  
  7.     {  
  8.         public ActionResult Index(string id)  
  9.         {  
  10.             return View();  
  11.         }  
  12.     }  
  13. }  

這個方法接受一個字符串類型的id參數,上面的URL執行了這個方法,傳入一個空的id。

由于mvc框架引用controller actions的方式,/Home同時也會觸發下列事件

  1. using System.Web.Mvc;  
  2.  
  3. namespace MvcApplication1.Controllers  
  4. {  
  5.     [HandleError]  
  6.     public class HomeController : Controller  
  7.     {  
  8.         public ActionResult Index()  
  9.         {  
  10.             return View();  
  11.         }  
  12.     }  
  13. }  

這個方法不接受參數,/Home將觸發這個Index(),同時/Home/Index/3也會調用這個方法,id參數將被忽略。

/Home也會與下面的方法匹配

  1. using System.Web.Mvc;  
  2.  
  3. namespace MvcApplication1.Controllers  
  4. {  
  5.     [HandleError]  
  6.     public class HomeController : Controller  
  7.     {  
  8.         public ActionResult Index(int? id)  
  9.         {  
  10.             return View();  
  11.         }  
  12.     }  
  13. }  

該方法接受一個int類型的參數id,因為這個參數可以為null,該方法將被調用而不會產生任何錯誤。

***調用下面的方法,這里會引發一個異常

  1. using System.Web.Mvc;  
  2.  
  3. namespace MvcApplication1.Controllers  
  4. {  
  5.     [HandleError]  
  6.     public class HomeController : Controller  
  7.     {  
  8.         public ActionResult Index(int id)  
  9.         {  
  10.             return View();  
  11.         }  
  12.     }  
  13. }  

因為這個參數是不可以為null的。以上就介紹了ASP.NET MVC路由的使用方法。

【編輯推薦】

  1. 淺析ASP.NET中的URL Rewrite
  2. 淺談ASP.NET MVC框架
  3. 介紹ASP.NET MVC中的MvcAjaxPanel
  4. ASP.NET MVC框架拯救UpdatePanel
  5. 用ASP.NET MVC源代碼尋找解決方案
責任編輯:yangsai 來源: 百度空間
相關推薦

2015-01-07 09:32:50

ASP.NET MVC路由

2009-07-22 09:36:54

使用UpdataModASP.NET MVC

2009-07-22 09:11:02

Action方法ASP.NET MVC

2010-03-12 09:38:58

2009-07-23 15:44:39

ASP.NET MVC

2009-08-21 18:00:38

ASP.NET mac

2014-08-21 09:31:06

路由

2009-08-24 16:56:26

ASP.NET Log

2009-07-24 13:20:44

MVC框架ASP.NET

2009-07-22 14:28:43

學習ASP.NET MASP.NET MVC

2009-07-31 12:43:59

ASP.NET MVC

2009-09-10 09:50:47

ASP.NET MVC

2009-10-29 09:15:32

ASP.NET MVCDropDownLis

2009-07-22 16:34:36

使用T4ASP.NET MVC

2009-07-22 10:34:37

ActionInvokASP.NET MVC

2009-07-20 15:44:32

ASP.NET MVC

2009-07-28 17:17:19

ASP.NET概述

2009-07-22 13:24:24

ASP.NET MVC

2009-07-22 10:09:59

ASP.NET MVC

2009-07-23 14:31:20

ASP.NET MVC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产三级大片 | 一级毛片免费完整视频 | 国产精品久久久久久久久 | 欧美日韩不卡合集视频 | 国产区第一页 | 福利网址 | 日韩电影一区 | 精品国产欧美 | 91视频精选 | 久久久久国产成人精品亚洲午夜 | 亚洲国产成人久久久 | 国产精品国色综合久久 | 国产精品久久久久久福利一牛影视 | 青青草综合 | 亚洲成人av | 成人精品免费视频 | 综合九九 | 日韩精品在线免费观看视频 | 国产99热 | 久久久久亚洲 | 久久久99国产精品免费 | 真人女人一级毛片免费播放 | 男女羞羞视频网站 | 久久国产一区二区三区 | 91视频播放 | 黑人精品欧美一区二区蜜桃 | 日韩视频在线一区 | 中文在线一区 | 亚洲区一区二区 | 成人精品区 | 国产精品成人av | 欧美福利影院 | 国产午夜精品视频 | 久久久久久黄 | 国产精彩视频在线观看 | 国产伦精品一区二区三区高清 | 成人国产精品久久 | 日韩一二区在线观看 | 国产99久久精品一区二区永久免费 | 狠狠热视频 | 成人精品视频在线观看 |