我一直在试图弄清楚如何将路由功能与 ASP.net 4.0 WebForms 一起使用。我在我的路线集合中添加了一条路线:
void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute(
"about-route",
"about/",
"~/About.aspx"
);
}
在我的母版页中,我尝试执行以下操作:
<asp:HyperLink ID="asdf" runat="server" NavigateUrl='<%= GetRouteUrl("about-route", new {}) %>'>Test</asdf>
我得到一个编译器错误:服务器标签不能包含 <% ... %> 结构。
在 Web 窗体的服务器控件中创建路由 URL 的正确方法是什么?我还需要将其包含在以下内容中:
<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>