【问题标题】:URL Routing in ASP.NET 4.0ASP.NET 4.0 中的 URL 路由
【发布时间】:2013-06-19 16:31:57
【问题描述】:

我有一个有 1 个 aspx 的应用程序,它加载了各种 ascx 用户控件。该页面然后形成诸如page.aspx?section=product&prodid=123之类的url,然后访问产品等。

我的任务是更改它,以便它使用干净的 url。所以我的计划是获取page.aspx/product/NAME 然后加载产品。

我有 3 条主要路线:

产品 产品列表 内容

所以。在我的global.asax 我有:

 void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup
        RegisterRoutes(RouteTable.Routes);
    }

 public static void RegisterRoutes(RouteCollection routeCollection)
    {
        routeCollection.MapPageRoute("RouteForProduct", "Product/{ProductName}", "~/IRShop.aspx", false, new RouteValueDictionary { { "ProductName", String.Empty } });
        routeCollection.MapPageRoute("RouteForProductList", "ProductList/{CatName}", "~/IRShop.aspx", false, new RouteValueDictionary { { "CatName", String.Empty } });
        routeCollection.MapPageRoute("RouteForContentList", "Content/{PageName}", "~/IRShop.aspx", false, new RouteValueDictionary { { "PageName", String.Empty } });
    }

我也有一个 using System.Web.Routing。

在我的page.aspx。 C# 代码,我最初尝试过这样做:

string id = Page.RouteData.Values["ProductName"].ToString();

但是当我转到 URL page.aspx/Product/TestProduct 并单步执行代码时,Page.RouteData 始终是 null。我知道我需要更多的东西来加载我的页面,但从我所读的内容来看,我认为这至少足以让我看到我的路由是如何工作的。

我的参考是:http://www.dotnetjalps.com/2011/12/easy-url-rewriting-in-aspnet-40-web.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FDotNetJalps+%28DotNetJalps%29&utm_content=Google+Reader

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    尝试转到 URL“/Product/ProductName”而不是“/page.aspx/Product/ProductName”

    【讨论】:

    • 噢!看到一篇文章建议我仍然需要 .aspx 页面。
    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    相关资源
    最近更新 更多