使用 WebForms 进行 ASP.NET URL 路由 - 使用 SiteMap
我正在尝试在现有的 ASP.NET WebForms 站点中使用 Url 路由。 感谢:此链接,我让它工作了。 现在我尝试将站点地图与我的路由一起使用。
我有一个页面 MyReport.aspx。 它位于站点地图中并直接访问页面,工作正常。 我添加了 /report/{param1}/{param2} 的路线。 我希望站点地图能够解析路线路径(MyReport.aspx)而不是/report/{param1}/{param2},但没有骰子。
我看过使用 使用 MVC 的 SiteMap,但这做出了有关控制器等的假设,而标准 Web 表单中不存在这些控制器。
我现在尝试的方法是检索自定义 SiteMapProvider 中的实际页面,但我没有找到执行此操作的方法。 有没有办法从 HttpContext 获取实际的 ASPX 页面而不是 Url?
谢谢, ——达米安
I'm trying to use Url Routing within my existing ASP.NET WebForms site. Thanks to: this link, I got it working. Now I'm trying to use a SiteMap along with my routing.
I have a page MyReport.aspx. It is in the SiteMap and accessing the page directly, works fine. I've added a route for /report/{param1}/{param2}. I was hoping the sitemap would resolve the route path (MyReport.aspx) instead of /report/{param1}/{param2}, but no dice.
I have seen examples of using the SiteMap with MVC, but this makes assumptions about having controllers and such, none of which exist with a standard webform.
The approach I'm trying now is to retrieve the actual page within a custom SiteMapProvider, but I'm not seeing a way to do this. Is there a way to get the actual ASPX page instead of the Url from the HttpContext?
Thanks,
-Damien
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Damien - 我最近发布了一个可能有用的示例。 谷歌搜索“asp.net路由站点地图”应该可以到达那里(只是刚刚加入SO,所以还不能发布链接)。
仅供参考,您可以使用 SiteMap.SiteMapResolve 事件,而不是创建自定义 SiteMapProvider (至少对于简单的场景)。
希望能帮助到你!
Damien - I recently posted a sample that might be useful. Googling "asp.net routing sitemap" should get you there (only just joined SO so can't post link yet).
Fyi you can use the SiteMap.SiteMapResolve event instead of creating a custom SiteMapProvider (for simple scenarios at least).
Hope it helps!