2

有什么方法可以像在 asp.net mvc 中那样在 asp.net 中实现 URL 机制

例如 mydomain.com/user/myusername 但不使用 MVC

如果是这样,如何?

4

6 回答 6

4

您可以使用 System.Web.Routing 程序集来执行此操作

这是一篇博文,展示了如何:-)

于 2009-01-23T21:07:34.783 回答
2

您可以使用 ASP.NET MVC 在 ASP.NET WebForm 应用程序内部使用的相同路由机制。查看 Phil Haack 的这篇文章,了解如何了解更多信息。

或者

如果您不想使用路由功能并且想推出自己的功能,请查看此问题

于 2009-01-23T21:09:57.633 回答
2

如果您有权访问 IIS:

  • 如果是 IIS7,则 URL 重写模块可能会工作。
  • 设置 IIS 以处理 ASP.NET 的任何请求,并向 Global.ashx 添加一个条目

如果是 Apache,请使用 mod_rewrite。

否则,您可以使用:
http://myserver/Web.aspx/url/1 或:
http://myserver/Url.aspx/1 并处理 Request.Uri.PathInfo

它必须转到某个地方的 .aspx 文件,否则它不会被处理。

于 2009-01-23T21:10:09.023 回答
1

我过去曾使用 ASP.NET 2.0 和UrlRewrite.Net库完成此操作

唯一的技巧是,如果您希望它使用没有 aspx 扩展名的路径,您必须配置 IIS 以通过 ASP.NET 引擎传递每个请求。

于 2009-01-23T21:39:07.420 回答
0

我在 2005 年左右构建了一个经典的 ASP.NET(我不敢相信这个术语存在)应用程序,它使用了重写,当时 MSDN 上的这篇文章非常有帮助:http: //msdn.microsoft.com/en-us/库/ms972974.aspx

如果您受限于 2.0,甚至 1.1,这可能是要走的路,因为 System.Web.Routing 只有 3.5。

于 2009-01-23T21:11:40.127 回答
0

IIRF对 IIS5 和 6 进行 URL 重写。它支持正则表达式。自由。开源。

于 2009-03-09T04:36:56.363 回答