使用 ASP.NET 4 将路由映射到 Web 窗体
我有一个像这样的网址
http://localhost:4737/Site/listing/NH/ Plaistow/2831516
我希望它重新路由到
http://localhost:4737/Site/listing.aspx
我正在阅读如何在此处对 Web 表单执行此操作 https://web.archive.org/web/20211020111718/https://www.4guysfromrolla.com/articles/012710-1.aspx
这是我的路线。
routes.MapRoute(
"FriendlyUrl",
"Site/listing/{state}/{town}/{mlsnumber}",
"~/Site/listing.aspx");
在我的列表页面中,我计划访问以下变量
Page.RouteData.Values["state"]
Page.RouteData.Values["town"]
Page.RouteData.Values["mlsnumber"]
但是当我导航到 http://本地主机:4737/Site/listing/NH/Plaistow/2831516, 我刚刚收到 HTTP 404 错误。
我知道如何使用 MVC 来实现这一点,但这是一个相当大的应用程序,全部都是用 Web 表单编写的,因此重写是不可行的。
任何有关如何解决此问题的想法都会有所帮助。
谢谢 !
这是工作代码。感谢 mrchief 帮助我解决这个问题。
routes.MapPageRoute(
"FriendlyUrl",
"listing/{state}/{town}/{mlsnumber}",
"~/listing.aspx");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以前就用另一种方式做。如果您使用的是 WebForms,则需要实现
UrlRoutingModule
,如下所示:https://web.archive.org/web/20201205221404/https://www.4guysfromrolla.com/articles/051309-1.aspx路由规则设计用于 ASP .Net MVC 应用程序,您可以使用
action
将Url
重定向到其相应的Controller
(WebForms 中的页面) params(WebFroms 术语中的查询参数)。Yore doing it the other way. If you're using WebForms, you need to implement
UrlRoutingModule
as shown here: https://web.archive.org/web/20201205221404/https://www.4guysfromrolla.com/articles/051309-1.aspxThe Routing Rules were designed for use in ASP.Net MVC applications where you redirect a
Url
to its appropriateController
(Page in WebForms) withaction
params (query params in WebFroms parlance).