.Net Core 3.0 - Страница не может быть найдена ошибка внутри контроллера области Индекс - PullRequest
0 голосов
/ 29 сентября 2019

Я создал эту область для страницы администратора (области / системы) и 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();
        }
}

Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 29 сентября 2019

Полагаю, я получил ответ.Я просто удалил атрибут Route, и он работает.

[Route("System/[controller]/[action]")]
0 голосов
/ 29 сентября 2019

К сожалению, вы не опубликовали свой 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

...