程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Asp.net Mvc Framework 二 (URL Routing初解)

Asp.net Mvc Framework 二 (URL Routing初解)

編輯:關於ASP.NET

什麼是URLRouting呢?

你可以使用URL routing來配置一些URL的映射,使用戶可以按你的規則來訪問網站.

使用URL routing,一定要規定URL模式,它包括一個位置標識,它將在你請求網頁時按這個規則返回給你內容. 當然,這個創建的規則完全是由你自己定義的.

上回說道:

http://localhost/Views/Home/Index.aspx和

http://localhost/Views/Home/About.aspx並無法訪問

Views/Home/Index.aspx

Views/Home/About.aspx

這是怎麼回事呢,那我們要怎樣才能訪問呢

答案是:

http://localhost/Home和

http://localhost/Home/About

於是可能你會問了:為什麼呢?(MS很春很晚)

原因是因為頁面URL的請求規則在Global.asax.cs中定義的規則所決定

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace MvcApplication2
{
  /**//// <summary>
  /// 還是老規矩,按序號看
  /// </summary>
  public class GlobalApplication : System.Web.HttpApplication
  {
    public static void RegisterRoutes(RouteCollection routes) {
      // 4.注意: 將URL 規則更改為 "{controller}.mvc/{action}/{id}" 即可
      // 自行支持 IIS6 and IIS7 兩種模式
      // 筆者注:一般的虛擬主機不支持.mvc,.aspx也要檢查文件存在
      // 所以你可以將.mvc換成.ashx或.asbx
      //1.因為MVC與傳統Aspx的最大不同就是訪問是訪問的Controller/Action
      //而不是aspx文件,要展現給用戶哪一個aspx文件是由Controller決定的
      //這個是文件默認自帶的URLRouting規則,是將Controller/Action/id的訪問
      //模式指向那個Controller
      routes.Add(new Route("{controller}/{action}/{id}", new MvcRouteHandler())
      {
        Defaults = new RouteValueDictionary(new { action = "Index", id = "" }),
      });
      //2.這個URL Routing是為了解決直接訪問域名時,會出現找不到文件的情況
      //所以要采用這個方法將主頁Routing到Home/Index上,Add方法現在多用MapRoute方法替代
      routes.Add(new Route("Default.aspx", new MvcRouteHandler())
      {
        Defaults = new RouteValueDictionary(new { controller = "Home", action = "Index", id = "" }),
      });
    }
    protected void Application_Start(object sender, EventArgs e) {
      //3.這個沒什麼好講了,就是在應用程序啟動時初始化它
      RegisterRoutes(RouteTable.Routes);
    }
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved