如何创建到以下网址的路线映射:
http://localhost/SiteName/AdminCP/Topics/EditTopic/28
AdminCP是一个区域 - 我可以访问主题控制器并向用户显示主题列表,然后用户单击链接以编辑主题 带他们到上面的网址。 EditTopic是AdminCP中的一个控制器,它返回一个Index操作。
这是我的AdminCP注册码无效。
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"AdminCP_default",
"AdminCP/{controller}/{action}/{id}",
new { controller= "Home", action = "Index", id = UrlParameter.Optional }
);
context.MapRoute(
"AdminCP_Topics",
"AdminCP/Topics/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
我能够重现此网址:
http://localhost/SiteName/AdminCP/EditTopic/Index/26
使用此代码段
@Html.ActionLink("Edit Options", "", "EditTopic", new { id = item.CategoryId }, new { @class = "popup-link" })
......但这不是我想要的。
答案 0 :(得分:0)
尝试此操作(在AdminCP默认路由之前添加)
context.MapRoute(
"AdminCP_Topics",
url: "AdminCP/Topics/{controller}/{id}",
defaults: new { action = "Index", id = UrlParameter.Optional }
);
并且
@Html.ActionLink("Edit Options","Index","EditTopic", new {id = 1, area = "AdminCP" },null)