日期:2014-05-17  浏览次数:20470 次

初学,MVC URL地址的问题,求各路神仙 指路。
本帖最后由 lookme_pk_you 于 2013-01-29 17:35:03 编辑

view 写上:

@Html.ActionLink("过去注册", "RegPage", new { id = "158", uid = "223" });

生成html是:

<a href="/Home/RegPage/158?uid=223">过去注册</a>

URL里面有“?”问号呀。。

我想要的结果是:

/Home/RegPage/158/223

具体怎么整,要在那里配置什么东西,或者我的ActionLink写错了吗?

说实话,那些理论有点看不懂,希望有简单的例子。

默认的URL地址是这个:
  routes.MapRoute(
                "Default", // 路由名称
                "{controller}/{action}/{id}", // 带有参数的 URL
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
            );


------解决方案--------------------
routes.MapRoute(
                "RegPage", // 路由名称
                "Home/RegPage/{id}/{uid}", // 带有参数的 URL
                new { controller = "Home", action = "RegPage", id = 1, uid = 1 }            );
------解决方案--------------------
一定要注意,先添加的路由规则应该在之前默认的规则前面,注意顺序
 
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                "DefaultPage", // Route name
                "{controller}/{action}/{id}/{uid}"
              );

            routes.MapRoute(
                "Default", // 路由名称
                "{controller}/{action}/{id}", // 带有参数的 URL
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
            );