c# - mvc - WebForms de ASP.net: uso de GetRouteUrl en el marcado
routeconfig c# (2)
He estado tratando de descubrir cómo usar las características de enrutamiento con WebForms de ASP.net 4.0. Agregué una ruta a mi colección de rutas:
void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute(
"about-route",
"about/",
"~/About.aspx"
);
}
En mi página maestra intenté hacer lo siguiente:
<asp:HyperLink ID="asdf" runat="server" NavigateUrl=''<%= GetRouteUrl("about-route", new {}) %>''>Test</asdf>
Obtuve un error de compilación: las etiquetas de servidor no pueden contener construcciones <% ...%>.
¿Cuál es la forma correcta de crear una URL de ruta en un control de servidor en formularios web? También necesito incluirlo en lo siguiente:
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="ROUTE HERE" Text="Home"/>
<asp:MenuItem NavigateUrl="ROUTE HERE" Text="About"/>
</Items>
</asp:Menu>
Hay una sintaxis especial para usar rutas en el marcado: http://msdn.microsoft.com/en-us/library/dd329551.aspx#Y800
<asp:MenuItem NavigateUrl=''<%$RouteUrl:about-route%>'' Text="About"></asp:MenuItem>
sintaxis correcta
<a href=''<%$RouteUrl:routename=about-route %>'' runat="server">Homepage</a>