URL重写和asp.net 3.5 webform

时间:2011-01-21 19:07:46

标签: asp.net url-rewriting

我怎样才能在asp.net3.5中重新编写url。当我们在stackoverflow中发布问题时,我们的问题被列为下面的超链接。 What is dependency injection?

当我们点击链接时,会显示一个动态页面。所以我想知道是否有一个像http://mysite.com/130794/what-is-dependency-injection

这样的href的超链接

我希望当用户点击上面的链接时,用户将重定向到页面,其中网址将显示在地址工具栏中,如http://mysite.com/130794/what-is-dependency-injection。如何在不触及IIS的情况下实现它。如何编写代码。请帮助我用小样本来更好地理解。感谢

1 个答案:

答案 0 :(得分:3)

托马斯,请查看ASP.NET Routing

简而言之,ASP.NET Routing是.NET Framework 3.5 SP1中引入的一个库,它将URL与物理文件分离。它在ASP.NET MVC中使用很多,但也可以在WebForms应用程序中使用。我撰写了一篇文章,讨论如何在ASP.NET 3.5 SP1 WebForms应用程序中使用ASP.NET路由:Using ASP.NET Routing Without ASP.NET MVC。它包括一个完整的工作演示,您可以下载并在您的计算机上试用。

来自文章:

  

ASP.NET Routing是.NET Framework 3.5 SP1中引入的一个库,它将URL与物理文件分离开来;它在ASP.NET MVC Web应用程序中广泛使用。使用ASP.NET路由,开发人员可以定义路由规则,指示哪些路由模式映射到哪些物理文件。例如,您可以指示URL Categories / CategoryName映射到ShowProductsByCategory.aspx ASP.NET页面,并传递URL的CategoryName部分。然后,ASP.NET页面可以显示该类别的产品。通过这样的映射,用户可以访问www.yoursite.com/Categories/Beverages查看Beverages类别的产品,而不是访问更详细,更不易阅读的www.yoursite.com/ShowProductsByCategory.aspx?CategoryID=1.

     

虽然ASP.NET MVC是开始使用ASP.NET路由的好方法,但好消息是这两个系统彼此独立。在传统的ASP.NET Web窗体应用程序中使用ASP.NET Routing很有可能。本文介绍如何在Web窗体应用程序中启动和运行ASP.NET路由。请继续阅读以了解更多信息!

要使用ASP.NET路由,您需要使用ASP.NET 3.5 SP1 或ASP.NET 4.事实上,ASP中的ASP.NET路由有许多增强功能.NET 4使其更易于在WebForms应用程序中使用,因此如果您可以升级到可能有用的ASP.NET 4。

快乐编程!