使用 ASP.NET 4 将路由映射到 Web 窗体

发布于 2024-11-25 20:26:56 字数 1413 浏览 1 评论 0 原文

我有一个像这样的网址

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");  

I have a Url like this

http://localhost:4737/Site/listing/NH/Plaistow/2831516

and I want it to reroute to

http://localhost:4737/Site/listing.aspx

I was reading how to do this for Web Forms here
https://web.archive.org/web/20211020111718/https://www.4guysfromrolla.com/articles/012710-1.aspx

Here's what my route looks like.

  routes.MapRoute(
  "FriendlyUrl",
  "Site/listing/{state}/{town}/{mlsnumber}",
  "~/Site/listing.aspx");

In my listing page I plan on accessing the following variables

  Page.RouteData.Values["state"]
  Page.RouteData.Values["town"]
  Page.RouteData.Values["mlsnumber"]

But when I navigate to http://localhost:4737/Site/listing/NH/Plaistow/2831516,
I just get a HTTP 404 error.

I know how to get this working with MVC, but this is a fairly large application, all written with web forms, so rewriting isn't feasible.

Any ideas on how to troubleshoot this would be helpful.

Thanks !

Here is the working code. Thank you to mrchief for helping me resolve this.

  routes.MapPageRoute(
  "FriendlyUrl",
  "listing/{state}/{town}/{mlsnumber}", 
  "~/listing.aspx");  

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

微暖i 2024-12-02 20:26:56

以前就用另一种方式做。如果您使用的是 WebForms,则需要实现 UrlRoutingModule,如下所示:https://web.archive.org/web/20201205221404/https://www.4guysfromrolla.com/articles/051309-1.aspx

路由规则设计用于 ASP .Net MVC 应用程序,您可以使用 actionUrl 重定向到其相应的 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.aspx

The Routing Rules were designed for use in ASP.Net MVC applications where you redirect a Url to its appropriate Controller (Page in WebForms) with action params (query params in WebFroms parlance).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文