【问题标题】:Best practice for making links that take advantage of clean urls制作利用干净网址的链接的最佳实践
【发布时间】:2011-03-24 01:26:07
【问题描述】:

我正在使用 ASP.NET 4 和路由引擎。在我的Global.asax 我有这样的东西。

routes.MapPageRoute(
            "Items",
            "manager/items",
            "~/Manager/Item/Items.aspx"
        );

这样写链接可以接受吗?:

<a href="/Manager/Items"></a>

我是否应该使用 &lt;% %&gt; 标记和代码来检索路线名称,在这种情况下为“项目”?

【问题讨论】:

    标签: asp.net asp.net-routing


    【解决方案1】:

    使用Page.GetRouteUrl() 之类的方法很可能比直接输出&lt;a/&gt; 标记更好,因为对虚拟路径的更改将由GetRouteUrl 处理

    <a href="<%:Page.GetRouteUrl("Items", null)%>"></a>
    

    【讨论】:

    • 该代码输出此 url:/manager/items?Length=5 有效,但我不想让它说 Length=5
    • 你知道为什么会这样吗?
    • @Nick,我只是能够尝试一下,如果您将 null 作为第二个参数传递,它应该摆脱 ?Length=5
    • 这是因为我们需要的重载是(string, RouteValueDictionary),默认情况下只使用"Items" 选择(object),这让我们得到length=5
    猜你喜欢
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 2013-06-06
    相关资源
    最近更新 更多