ASP.net WebForms - 在标记中使用 GetRouteUrl
我一直在尝试弄清楚如何将路由功能与 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>
I have been trying to figure out how to use the Routing features with ASP.net 4.0 WebForms.
I added a route to my route collection:
void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute(
"about-route",
"about/",
"~/About.aspx"
);
}
In my master page I tried to do the following:
<asp:HyperLink ID="asdf" runat="server" NavigateUrl='<%= GetRouteUrl("about-route", new {}) %>'>Test</asdf>
I got a compiler error: Server tags cannot contain <% ... %> constructs.
What is the proper way to create a route URL in a server control in Web Forms? I also need to include it in the following:
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在标记中使用路由有一种特殊的语法: 演练:在 Web 表单应用程序中使用 ASP.NET 路由
There is a special syntax for using routes in markup: Walkthrough: Using ASP.NET Routing in a Web Forms Application
正确的语法
right syntax