view 写上:
@Html.ActionLink("过去注册", "RegPage", new { id = "158", uid = "223" });
生成html是:
<a href="/Home/RegPage/158?uid=223">过去注册</a>
URL里面有“?”问号呀。。
我想要的结果是:
/Home/RegPage/158/223
具体怎么整,要在那里配置什么东西,或者我的ActionLink写错了吗?
说实话,那些理论有点看不懂,希望有简单的例子。
建立两个路由就可以了,
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}/{uid}", // URL with parameters
new { controller = "Home", action = "RegPage", id = UrlParameter.Optional, uid = UrlParameter.Optional } // Parameter defaults
);
用这两个路由试试
修改路由Global.asax.cs
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}/{uid}", // URL with parameters
new { controller = "Home", action = "RegPage", id = UrlParameter.Optional, uid = UrlParameter.Optional } // Parameter defaults
);
高人,这样的话,网站默认直接就进入了 Home/RegPage/158/223 这个页面了。
我系统默认进入的是Home/Index 这个页面呀?
并且有一个参数的 链接又出现问题了:
@Html.ActionLink("过去注册", "RegPage", new { uid = "223" });
这样生成的 URL为:
<a href="/Home/user?uid=223">过去注册2</a>;
有没有办法,直接在Html.ActionLink 里面设置呢。
同问
不传参数就用直接写标签里
<a href="@rl.Content("~/Home/RegPage/158")">过去注册</a>
"/Home/RegPage?confid=" + id