当前位置:  开发笔记 > 后端 > 正文

ASP.NET MVC URL路由不会给我漂亮的URL

如何解决《ASP.NETMVCURL路由不会给我漂亮的URL》经验,为你挑选了1个好方法。

我已经建立了一个ASP.NET MVC项目,一切都运行良好,但我确实有一个路由问题.我的Global.asax看起来像这样:

public static void RegisterRoutes(RouteCollection routes) {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
    }

所以,没有什么不寻常的.我的问题是,当我使用HTML.ActionLink链接到控制器/ action/params时,如下所示:

<%= Html.ActionLink("My link", "SomeAction", "SomeController", new {param="someParam"})%>

它应该产生(至少在我的头脑中有意义)一个链接,如:http://www.localhost/SomeController/SomeAction/someParam.

但它会生成这样的链接: http://localhost/SomeController/SomeAction?param=someParam

如果我手动创建链接到预期结果的链接(SomeController/SomeAction/someParam),则调用正确的控制器和操作,但action方法中定义的参数始终为null.

有任何想法吗?



1> Dan Fish..:

尝试添加:

routes.MapRoute(
                    "Default",                                                                                              // Route name
                    "{controller}/{action}/{param}",                                                   // URL with parameters
                    new { controller = "Home", action = "Index", param = "" }  // Parameter defaults
            );

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