1
我有一個應用程序有1個ASPX,它加載各種ASCX用戶控件。然後這個網頁形成的網址,如page.aspx?section=product&prodid=123
,然後訪問一個產品等在ASP.NET 4.0中的URL路由
我一直負責改變這個,所以它使用乾淨的網址。所以我的計劃是獲得page.aspx/product/NAME
,然後這將加載產品。
我有3條主要航線有:
產品 產品列表 內容
所以。在我global.asax
我:
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routeCollection)
{
routeCollection.MapPageRoute("RouteForProduct", "Product/{ProductName}", "~/IRShop.aspx", false, new RouteValueDictionary { { "ProductName", String.Empty } });
routeCollection.MapPageRoute("RouteForProductList", "ProductList/{CatName}", "~/IRShop.aspx", false, new RouteValueDictionary { { "CatName", String.Empty } });
routeCollection.MapPageRoute("RouteForContentList", "Content/{PageName}", "~/IRShop.aspx", false, new RouteValueDictionary { { "PageName", String.Empty } });
}
我一直在使用System.Web.Routing以及一個
。
在我的page.aspx
。 C#代碼,我已經initialy試圖做:
string id = Page.RouteData.Values["ProductName"].ToString();
但是,當我去到URL page.aspx/Product/TestProduct
,並通過代碼,Page.RouteData
總是null
。我知道我需要更多才能加載我的頁面,但從我讀過的內容來看,我會認爲這足以讓我看到我的路由是如何工作的。
衛生署的!看到一篇文章,提示我仍然需要.aspx頁面。 –