。Net Core 3.0-Areas controller Index中找不到页面错误

问题描述 投票:0回答:2

我为管理页面(区域/系统)和内部的AdminController创建了该区域。

但是当我尝试将URL作为https://localhost:44361/System/Admin放置在地址中时,它[[没有在Index()函数内部中断。即使出现Index.cshtml,错误页面也会显示“找不到此本地主机页面”

请注意,当您访问HomeController > Index()时,此功能在https://localhost:44361内部非常有效。

下面是区域/系统AdminController的示例代码。

[Area("System")] [Route("System/[controller]/[action]")] public class AdminController : BaseController { public IActionResult Index() { return View(); } }

谢谢您的帮助。
.net controller core area
2个回答
0
投票
不幸的是您还没有发布Startup.Configure,更具体地说是app.UseMvc,但是考虑到HomeController / Index被解雇的事实,我认为可能是问题所在。定义[Area(“ System”)]应该足够,其余的内容是隐式的。

app.UseMvc(routes => { //Order is important, most specific to least specific routes.MapRoute( name: "MyArea", template: **"{area:exists}/**{controller=Home}/{action=Index}/{id?}"); routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });

更多有关区域和路由配置的信息:https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/areas?view=aspnetcore-3.0#add-area-route

0
投票
我想我得到了答案。我只是删除了Route属性,它起作用了。

[Route("System/[controller]/[action]")]

© www.soinside.com 2019 - 2024. All rights reserved.