Html.ActionLink
<li> ${Html.ActionLink<HomeController>(c => c.Edit(ViewData.Model.Id, ViewData.Model.Title), "Edit")} </li>
创建为html时,显示的网址为Edit/5006?title=One
。如何将其更改为Edit/5006/One
这样的漂亮网址?
我的编辑操作方法是
public ActionResult Edit(int id, string title)
答案 0 :(得分:2)
您需要设置路线:
routes.MapRoute(
"DefaultWithTitle",
"{controller}/{action}/{id}/{title}",
new
{
controller = "Home",
action = "Edit",
id = UrlParameter.Optional,
title = UrlParameter.Optional
}
);
答案 1 :(得分:1)
这取决于功能标记,但它取决于路由配置。
routes.MapRoute("Edit", // Route name
"{controller}/{action}/{id}/{title}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
答案 2 :(得分:0)
看看这个问题的第一个答案:HTML.ActionLink method
重要的是你必须确保为ActionLink()使用正确的重载。