首先,我读了this question和this question 我想我有另一个问题。因为一切都是一样的。在MVC5中使用路由属性
我有MVC5项目。我有2个领域。 首先,我的默认根类是这样的。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Welcome", action = "Index", id = UrlParameter.Optional});
}
第一区域路由配置。
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"App_default",
"App/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
在这一点上,是没有问题的。不过,我想是这样的:
这个应用程序/控制器现在
public class AccountsController : Controller
{
// GET: App/Accounts
[Route("app/accounts/list/{Id}")]
public ActionResult List()
{
return View();
}
}
,我可以访问诸如:
- 本地主机/索引/索引OK
- 本地主机/应用/索引/ Index OK
- localhost/app/accounts/list/45646 ERR或
如何使用区域路由属性?我做不到?
'[路线(“应用程序/帐号/列表/ {ID} “)]'更改为'[Route(”App/accounts/list/{Id}“)]' –