当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET MVC - Routes和UrlHelper

如何解决《ASP.NETMVC-Routes和UrlHelper》经验,为你挑选了1个好方法。

我有以下路线

routes.MapRoute(
    "GigDayListings",                                   // Route name
    "gig/list/{year}/{month}/{day}",                    // URL with parameters
    new { controller = "Gig", action = "List" },
    new
    {
        year = @"^[0-9]+$",
        month = @"^[0-9]+$",
        day = @"^[0-9]+$"
    }  // Parameter defaults
);

当我访问URL时

gig/list/2009/01/01

这条路线完美匹配,我的行动被召唤.

在我看来,我有一个帮助器,它执行以下操作:

var urlHelper = new UrlHelper(ViewContext);
string url = urlHelper.RouteUrl(ViewContext.RouteData.Values);

生成的字符串是:

http://localhost:3539/gig/list?year=2005&month=01&day=01

为什么不呢

http://localhost:3539/gig/list/2005/01/01

我究竟做错了什么?



1> dimarzionist..:

我认为您的问题是您没有在通话中指定路线名称.尝试使用

UrlHelper.RouteUrl(**"GigDayListings"**, ViewContext.RouteData.Values); 

路由名称重载.

干杯!

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有