라우팅과 함께 넷 4 및 C#.URL에서 ID를 숨기는 방법
GetRouteUrl (또는 다른 방법)에서 DataToken의 값을 전달하는 방법을 알고 싶습니다.
내 목표는 크레타 "mysite.com/category-title"같은 URL 과 (URL입니다 categoryId
숨어) 통과하지만, 대상 페이지에 내가 필터링 숨겨진 categoryId
를 검색하고자하는 것입니다.
지금은 결과없이 DataTokens를 사용하여이 작업을 수행하려고합니다.
내 질문 :
- 가 어떻게 URL 라우팅에 의해 생성하고 아이디 숨겨진 지나가는 ID를 숨기기 위해?
- 올바른 방법 (DataTokens 사용)인가요? 더 좋은 아이디어 (코드 예제를 제공해주세요)
감사합니다.
public static void RegisterRoutes(RouteCollection routes)
{
// Ex: mysite.com/category-title/
routes.MapRouteCategoryView("myRouteName", "{Title}");
}
<asp:HyperLink runat="server" Text='<%# Eval("Title") %>' NavigateUrl='<%# GetRouteUrl(new { Title = Eval("Title") }) %>'></asp:HyperLink>
I
public static void MapRouteCategoryView(this RouteCollection routes, string name, string url)
{
// Page Handler map filter to physical path.
PageRouteHandler handler = new PageRouteHandler("~/Cms/FrontEndCms/CategoryView.aspx");
// Create the Route.
CustomRoute myRoute = new CustomRoute(url, handler);
// Setting the Route.
//myRoute.Constraints = new RouteValueDictionary { { "CategoryId", @"\d+" } }; // Only valid Int for Id.
myRoute.DataTokens = new RouteValueDictionary { { "RouteName", name } };
// Add the Route to RouteCollection.
routes.Add(myRoute);
}
안녕하세요, 저는 Asp.net 라우팅을 사용하고 모듈 NAY 아이디어를 다시 작성하지 않아도됩니다. – GibboK
미안하지만 라우팅에 대한 노출이 매우 제한되어 있습니다. 해상도를 확인하는 데 관심이 있습니다. S –