我的应用程序中有一个名为admin的文件夹,所以我的文件夹结构如下所示
-Models
|
-Views
|
-Controller
|
|-HomeController.cs
|
|-Admin
|
|-HomeController.cs <-- in this controller, i have methods Add,Delete,View
我需要创建一个路由,所以如果我输入网址http://localhost:2336/admin/add
,它将执行家庭控制器的添加方法,但我收到404错误。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Admin",
url: "Admin/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "fms.Controllers.Admin" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
答案 0 :(得分:1)
您的管理路线指定了这样的路线:
Admin/{controller}/{action}/{id}
这意味着您需要在URL中拥有控制器名称和操作。例如,这应该有效:
http://localhost:2336/admin/home/add
如果您将网址路径更改为此网址,则可以使用:
Admin/{action}/{id}
然而,这确实意味着将管理员控制器放在其自己的文件夹中有点没有意义。如果我是你,我会查找如何创建一个新的MVC区域。