.NET Core 3-无法识别我的区域标签

希望我确实缺少一些明显的东西,但是到目前为止,我到这一天都没碰运气-我搜索了10多个Area教程,看看我是否能发现任何东西,但无济于事

这是我的文件夹布局:

.NET Core 3-无法识别我的区域标签

和端点路由:

.NET Core 3-无法识别我的区域标签

(也尝试过):

.NET Core 3-无法识别我的区域标签

和控制器:

.NET Core 3-无法识别我的区域标签

并查看:

.NET Core 3-无法识别我的区域标签

尽管如此,无论我尝试过什么,我总是在HTML一代中得到这一点...

.NET Core 3-无法识别我的区域标签

请注意表单中的?area = Admin。

我当然做对了吗?!我已经在.NET MVC + .NET Core 2.x

中完成了一百万次
lindw1981 回答:.NET Core 3-无法识别我的区域标签

我没有设法重现该错误。但是,我设法创建了有效的示例。创建MWE

的步骤

tl; dr (如果不起作用,请全部阅读:D):

看第四个点。您所在区域的根文件夹的指定名称似乎不正确。参见the docs


1)dotnet new mvc

2)安装最新的Aspnetboilerplate dotnet add package Abp.AspNetCore --version 5.0.0

3)使用Areas\Admin\Views创建Controllers目录(如屏幕截图所示)

4)在Startup.cs中设置路由(这可能是关键部分):

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapAreaControllerRoute(
                                  name: "areas",areaName: "Admin",pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

                endpoints.MapControllerRoute(
                    name: "default",pattern: "{controller=Home}/{action=Index}/{id?}");
            });

5)Areas\Admin\Controllers\BankHolidaysController.cs

using System;
using Abp.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc;

namespace dotnet_mvc_areas_stack.Areas.Admin.Controllers
{
    [Area("Admin")]

    public class BankHolidaysController : AbpController
    {

        public IActionResult Index()
        {
            return View();
        }

        public IActionResult Create()
        {
            Console.WriteLine("Creating");
            return View();
        }
    }
}

6)Areas\Views\BankHolidays\Create.cshtml,格式为(degeneration :))

<p> This is index page of area </p>
<div>
    <form method="post" action="/Admin/BankHolidays/Create">
        <button type="submit">submit</button>
    </form>
</div>

7)Create.cshtml旁边

<div>Created</div>
本文链接:https://www.f2er.com/3020219.html

大家都在问