2012-07-02 23 views
0

我想在啓動頁面時將Default.aspx路由到另一個URL。
我的Global.asax是這樣的:ASP.NET 4.0 Routing and Default.aspx(如何編寫處理程序?是否需要)

protected void Application_Start(object sender, EventArgs e) 
{ 
    RegisterRoutes(RouteTable.Routes); 
} 

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.MapPageRoute(
     "Default",               // Route name 
     "My Site",               // URL with parameters 
     "~/Default.aspx"             // Parameter defaults 
    ); 
} 

我應該寫我的目的處理程序?
(我發現一些樣本的.net 3.5和MVC,但怎麼樣.net 4網頁表格)
如果是的我怎麼能寫它?

編輯:
這行究竟做什麼?

routes.Add("Default", new Route(string.Empty, new RouteHandler("~/Default.aspx"))); 

我使用web表單 - >不MVC

感謝advace

+0

你只是想重置網站的首頁嗎? –

+0

嗨安德烈,你的意思是什麼重置?我只想在頁面啓動時將「Default.aspx」路由到「我的網站」。意味着當用戶輸入「www.domain.com/Default.aspx」時,他/她將在他/她的瀏覽器中看到「www.domain.com/我的網站」。 – MoonLight

+0

我不知道這樣做對SEO是否有用!我想爲我的所有網頁做這項工作。 – MoonLight

回答

0

下面是如何處理與asp.net 4.0 Web窗體路由(一個具體的例子,它只是下了MVC部分)。

http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx

你接近它的方式是好的。你的路線的第二個參數確實有錯誤。也許這不是一個錯誤,我不喜歡空間,因爲它們實際上是編碼空間。檢查指南。

剛注意到你的編輯。 添加路由本質上會創建一個url或url模式(您有string.Empty這是一個問題)和一個處理程序(它指定RouteHandler,我不相信實際存在?)之間的映射。 .net提供了一個PageRouteHandler,它可以讓你指定哪個頁面響應你的請求,並處理一些其他的細節,如在你的站點的物理結構上定義的安全性。在內部,MapPageRoute只是調用routes.Add,但使用PageRouteHandler。

相關問題