2017-04-24 73 views
1

我想要路由到我的Companies模型视图(Views/Companies/Employees/Edit)中的子文件夹中的Edit页面。ASP.NET Core MVC中子文件夹的路由MVC

我试图在公司模型视图的Index.cshtml与链接http://localhost:xxxxx/Companies/Employees%2FEdit/1打开一个空白页面使用<a asp-action="Employees/Edit" asp-route-id="@model.ID">Edit</a>它做。正确的观点应该在http://localhost:xxxxx/Companies/Employees/Edit/1

任何人都可以向我解释为什么我得到这个?

这是Startup.cs:

app.UseMvc(routes => 
      { 
       routes.MapRoute(
        name: "default", 
        template: "{controller=Home}/{action=Index}/{id?}"); 
      }); 
+0

这是一个视图模型:) –

回答

4

您没有设置asp-controller属性。

<a asp-action="Employees/Edit" asp-route-id="@model.ID">Edit</a> 

应该

<a asp-action="Edit" asp-controller="Employees" asp-route-id="@model.ID">Edit</a> 

我不知道为什么你的子文件你的方式。 它应该是Views/ControllerName/ActionName(这是约定)

您是否在Employees控制器中有Edit动作?或Companies控制器中的Edit动作?

+0

宾果。谢谢! –

+0

@VyNguyen会很好,如果你可以通过点击“剔号”的答案接受它:) – scartag

+0

注:@scartag是对的。我不需要子文件夹。我只是将Employees.csthml移回到主视图文件夹并将“asp控制器”添加到标记。现在它工作正常。 –