2011-07-01 5 views
0

aspx 페이지에서 경로 라우팅 값을 하이퍼 링크 navigateurl 속성으로 설정하는 방법은 무엇입니까?

다음 경로가있는 경우 :

 routes.MapPageRoute(
      "Build",  // Route name 
      "build",  // Route URL 
      "~/build.aspx" // Web page to handle route 
     ); 

    routes.MapPageRoute(
     "Type",  // Route name 
     "build/{type}",  // Route URL 
     "~/build.aspx" // Web page to handle route 
    ); 

     routes.MapPageRoute(
     "Project",  // Route name 
     "build/{type}/{project}",  // Route URL 
     "~/build.aspx" // Web page to handle route 
    ); 

routes.MapPageRoute(
     "Task",  // Route name 
     "task/{type}/{project}",  // Route URL 
     "~/task.aspx" // Web page to handle route 
    ); 

하이퍼 링크는 'task'라는 경로 (형식이 'tool'이고 project = 'excel')의 .aspx (코드 뒤에 있지 않음)에서 url을 탐색하도록 설정합니까?

답변

1

처럼 Global.asax에이

<asp:HyperLink ID="lnk3" runat="server" NavigateUrl="<%$RouteUrl:Name=IPhone,ID=1 %>" Text="IPhone" /> 

같은 경로 값을 설정할 수 있습니다

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:HyperLink runat="server" ID="btnUp" Text='<%# Eval("ProjectID") %>' 
     NavigateUrl='<%# GetRouteUrl("Task", 
      new System.Web.Routing.RouteValueDictionary 
      { 
      {"type", "tool" }, 
      {"project" , "excel" } 
      }) %>' /> 
    </ItemTemplate> 
    </asp:TemplateField> 

또는 데이터 소스에서 매개 변수를 설정할 수 있습니다.

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:HyperLink runat="server" ID="btnUp" Text='<%# Eval("ProjectID") %>' 
     NavigateUrl='<%# GetRouteUrl("Task", 
      new System.Web.Routing.RouteValueDictionary 
      { 
      {"type", Eval("Type") }, 
      {"project" , Eval("ProjectType") } 
      }) %>' /> 
    </ItemTemplate> 
    </asp:TemplateField> 
-1

당신은 그리드 뷰 템플릿 필드에 내 구성은 예를 들어이

RouteTable.Routes.MapPageRoute("StoreRoute", 
"BookStore/{Name}/{ID}", 
"~/Webpages/BookStore/ViewBookDemo.aspx"); 
+0

당신은 무엇을 PARAMS로 이름과 ID를 사용하지만있는 다른 경로를 "서점/{이름}/{ID}"보다하지만 "hardwarestore/{또 다른 경로가있는 경우 이름}/{id} "- 어떤 경로를 사용할지 구분하는 방법은 무엇입니까? – FiveTools

0

RouteName param을 설정해야합니다. 예 : 이 같은 경로를 설정할 수 있습니다

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="<%$RouteUrl:RouteName=Project, type=1, project=2%>">Type 2</asp:HyperLink> 
관련 문제