If the following routes:
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
);
How do I set a hyperlinks navigate url in the .aspx (not code behind) to the route named 'task' where type = 'tool' and project = 'excel'?
For example, in a grid view template field:
<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>
or, you can set parameters from data source:
<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>