2011-04-19 155 views
7

我已經看到了ASP.NET MVC域路由的一個很酷的實現。
來源:http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspxASP.NET WebForms域路由

這可以在ASP.NET WebForms 4.0上完成嗎?

+0

-1爲什麼?低調的照顧者會詳細說明一下嗎?我想不是:) – naveen 2011-05-20 15:27:38

+0

對不起,因爲脫離主題,但除了事實這是一個很酷的技巧與域路由,它有什麼用?我的意思是www.website.com/en或www.en.website.com有什麼不同。我認爲對於最終用戶來說,擁有默認ROUTES又名域名會更加清晰。域名類型/控制器... – eugeneK 2011-05-22 06:51:27

+0

@eugeneK:與多租戶多語言網站合作,你會知道的。我很抱歉,你沒有:) – naveen 2011-05-22 07:11:18

回答

0

簡而言之,是的,您可以在WebForms中使用路由。查看System.Web.Routing命名空間。

在您的Global.asax的Application_Start中,您可以根據文本或正則表達式設置路由。

+0

@skaz:請給我一個理由,爲什麼我不應該對此投票! – naveen 2011-04-19 15:40:33

+2

@yetanothercoder - 不知道你想要什麼。你問「可以這樣做」。是的,它可以完成。我給你做作業去研究。我不知道你想要什麼迴應... – skaz 2011-04-19 18:34:56

+0

@skaz:我們在這裏談論域路由。我知道System.Web.Routing。你讀過博客文章了嗎? – naveen 2011-04-20 05:39:35

1

考慮到Route類不是特定於MVC應用程序的事實,並且可以在普通的ASP .NET WebForms項目的上下文中輕鬆使用,所鏈接的DomainRoute類也應該在該上下文中工作得很好。

應該是一個足夠簡單的冒險來證明。

+0

證明,例如:) – naveen 2011-05-16 18:56:24

1

你的問題的答案是肯定的。這其實很簡單。你可以嘗試使用DomainRoute類或者只寫自己的url重寫模塊,並且很好。但基本上你會使用這樣的:

http://www.gutgames.com/post/Url-Rewriting-in-ASPNet.aspx

代替作爲路徑,你會使用URL屬性和解析你想要的東西。或者你可以只使用一個像這樣的開源項目:

http://sharedhostingsplittr.codeplex.com/

而且稍微修改它,如果需要的話。

+0

謝謝,但代替url重寫,我想擴展url路由本身 – naveen 2011-05-23 13:12:27

0

是添加Global.ascx文件在您的項目,並添加一個功能是我寫的

public static void UrlRouting(RouteCollection RC, string RoutName, string routeUrl, string Page) 
    { 
     RC.MapPageRoute(RoutName, routeUrl, Page); 
    } 
after this inside Application_Start event on global.ascx file 
call that function like 
UrlRouting(RouteTable.Routes, "index", "Home", "~/index.aspx"); 

,然後用URL路徑是〜/主頁 稱之爲'>首頁 注意:不要別忘了打電話RESOLVEURL與您的網址,否則就不能稱之爲 和你的圖片和jQuery,js的路徑也應該有RESOLVEURL 像 「/> 否則這個jQuery將無法正常工作,並且圖像將不會顯示 希望這將有助於