2013-06-19 2 views
1

나는 1 개의 aspx가 있고 다양한 ascx 사용자 컨트롤을로드합니다. 이 페이지는 page.aspx?section=product&prodid=123과 같은 URL을 작성하여 제품 등에 액세스합니다.ASP.NET 4.0의 URL 라우팅

깨끗한 URL을 사용하도록이 작업을 변경해야합니다. 그래서 내 계획은 page.aspx/product/NAME을 얻는 것이고, 그러면 제품이로드 될 것입니다.

나는 3 개 주요 노선이 있습니다

제품 제품 목록 내용

겠어요 -을 내 global.asax에서 나는이 : 나는뿐만 아니라 System.Web.Routing를 사용하여 한

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 } }); 
    } 

합니다.

있음 내 page.aspx. C# 코드, 나는 initialy 할 시도 :

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

을하지만 page.aspx/Product/TestProduct를 URL과 코드를 단계별로 갈 때, Page.RouteData 항상 null입니다. 내 페이지 로딩을 위해 더 많은 정보가 필요하다는 것을 알고 있지만, 내가 읽은 것에서는 적어도 내 라우팅이 어떻게 작동하는지 볼 수있을 정도로 충분할 것이라고 생각했을 것입니다.

내 참조했다 : http://www.dotnetjalps.com/2011/12/easy-url-rewriting-in-aspnet-40-web.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FDotNetJalps+%28DotNetJalps%29&utm_content=Google+Reader

답변

1

"/page.aspx/Product/ProductName"

+0

도현 대신 "/ 제품/제품 이름"URL로 이동보십시오! .aspx 페이지가 여전히 필요하다고 제안하는 기사를 보았습니다. –