2011-09-11 43 views
0

我一直在試圖讓一些路由啓動並運行。我基本上希望這個網址:asp.net c#應用程序路由

www.example.com/SomebodysName

www.example.com/agents/somebodysname

..to去......

www.example.com/portfolio.aspx?ran=somebodysname

我試圖用MSDN的例子,使用像這樣的globax.asax:

void Application_Start(object sender, EventArgs e) 
    { 
     RegisterRoutes(System.Web.Routing.RouteTable.Routes); 

    } 

public static void RegisterRoutes(System.Web.Routing.RouteCollection routes) 
    { 
     routes.MapPageRoute("", "agents/{name}", "portfolio.aspx?ran={name}"); 
    } 

但我不能得到它的工作,它說路由不存在於命名空間System.Web中。 我怎樣才能得到它以這種方式工作或者是另一種方式

+0

建議編輯您的問題以顯示錯誤以及代碼的設置方式? –

回答

1

確保您的Global.asax有一個using語句(web.config中):

using System.Web.Routing; 

你可以映射你這樣的路線沒有目標物理aspx頁面上帕拉姆:

routes.MapPageRoute("AgentPortfolioByName", "agents/{name}", "portfolio.aspx"); 

在代碼隱藏在portfolio.aspx.cs,你可以簡單地參考name值是這樣的:

string name = Page.RouteData.Values["name"].ToString(); 

這將確保您的ASP.NET 4+網站將具有您所期望/描述的URL路由功能。

+0

我的Global.asax現在看起來是這樣的: '<%@應用程序語言= 「C#」 %> <%@導入命名空間= 「System.Web.Routing」 %>