ASP.NET(Web Forms)網站 加入FriendUrls

ASP.NET(Web Forms)網站 加入FriendUrls

前言:

由於目前的ASP.NET網站中,網址中都會出現http://website/ABC.ASPX,想要美化網址改為http://website/ABC的形式,可以藉由安裝FriendUrls來達成這個需求,在此簡單筆記一下安裝的過程。

 

1. 首先從NUGET安裝套件 FriendlyUrls,或是採用指令的方式安裝。


Install-Package Microsoft.AspNet.FriendlyUrls

 

 

2. 安裝完成後,會自動產生RouteConfig.cs

RouteConfig

內容如下:


public static void RegisterRoutes(RouteCollection routes)
{
    var settings = new FriendlyUrlSettings();
    settings.AutoRedirectMode = RedirectMode.Permanent;
    routes.EnableFriendlyUrls(settings);
}

 

 

3. 新增一個『全域應用程式類別』global.asax

global

 

4. 參考安裝文件說明,在Application_Start中加入以下程式碼。


void Application_Start(object sender, EventArgs e)
{
    // 在應用程式啟動時執行的程式碼
    RouteConfig.RegisterRoutes(RouteTable.Routes);
}

 

要引用命名空間,有兩種方式。如果是在Global.asax中引用


<%@ Import Namespace="System.Web.Routing" %>

在Global.cs中引用


using System.Web.Routing;

 

5. 此時建置專案,會發生錯誤

ViewSwitcher_Error

 

 

只要將第一行的『CodeBehind="ViewSwitcher.ascx.cs』,改成如下即可


CodeFile="ViewSwitcher.ascx.cs"

 

6. 再次建置專案,再次發生錯誤,解決方法也是同上一個步驟。

Site_Mobile_Error

只要將『CodeBehind="Site.Mobile.master.cs"』改為『CodeFile="Site.Mobile.master.cs"』即可。

到這邊已經完成FriendlyUrls的安裝,如有錯誤,還請不吝指導,謝謝。

 

參考資料:

http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx

 

http://stackoverflow.com/questions/22628439/could-not-load-type-asp-viewswitcher

 

https://msdn.microsoft.com/en-us/library/866zees4(v=vs.71).aspx