相关疑难解决方法(0)

ASP.NET Core RC2区域未发布

所以我刚刚更新了我的应用程序以使用ASP.NET Core RC2.我使用Visual Studio发布它并注意到我的区域未发布:

此快照来自src\MyProject\bin\Release\PublishOutput:

在此输入图像描述

这是我Admin在Visual Studio中命名的区域:

在此输入图像描述

我错过了一步还是什么?

c# asp.net-mvc-areas asp.net-core .net-core-rc2

16
推荐指数
1
解决办法
2359
查看次数

Asp.net core 2前缀路由

如何为MVC CRUD操作创建前缀路由。我正在开发需要管理员和前端的应用程序。对于管理员,我希望所有路线都指向localhost:5000/admin/....

我有不同的控制器

public class RoomsController : Controller
{
    // GET: Rooms        
    public async Task<IActionResult> Index()
    {

        return View(await _context.Rooms.ToListAsync());
    }

    //...
}
Run Code Online (Sandbox Code Playgroud)

public class SlidersController : Controller
{
    private readonly ApplicationDbContext _context;

    public SlidersController(ApplicationDbContext context)
    {
        _context = context;
    }

    // GET: Sliders
    public async Task<IActionResult> Index()
    {
        return View(await _context.Sliders.ToListAsync());
    }

    //...
}
Run Code Online (Sandbox Code Playgroud)

现在我希望管理路线为

public class RoomsController : Controller
{
    // GET: Rooms        
    public async Task<IActionResult> Index()
    {

        return View(await _context.Rooms.ToListAsync());
    }

    //...
}
Run Code Online (Sandbox Code Playgroud)

而其他路线仍然存在

public …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-mvc .net-core asp.net-core-routing

6
推荐指数
2
解决办法
4630
查看次数

ASP.NET Core 2.1区域路由无法正常工作

我的新区域有这个文件夹结构

在此输入图像描述

这是我在启动时设置它的方式:

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

    routes.MapRoute(
      name: "areas",
      template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
    );
});
Run Code Online (Sandbox Code Playgroud)

这就是我创建basecontroller的方法

namespace App.Areas.Applications.Controllers
{
    [Area("Applications")]
    [Authorize]
    public abstract class ApplicationsBaseController : Controller
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

我的ApplicationsController然后继承BaseController

但是,当我设置这样的链接时

<li class="nav-item"><a asp-area="Applications" asp-controller="Applications" asp-action="Index" class="nav-link">Applications</a></li>
Run Code Online (Sandbox Code Playgroud)

这是我的网址https:// localhost:44338/Applications?area = Applications中显示的链接,我找不到页面.

在设置我的区域时我错过了什么?

编辑:

当我在[区域("应用程序")]之后添加[路径("应用程序/ [控制器]")]时,出现此错误

处理请求时发生未处理的异常.AmbiguousActionException:匹配多个动作.以下操作匹配路由数据并满足所有约束:

App.Areas.Applications.Controllers.ApplicationsController.Index(App)App.Areas.Applications.Controllers.ApplicationsController.Create(App)App.Areas.Applications.Controllers.ApplicationsController.NewRole(App)

c# asp.net .net-core asp.net-core

3
推荐指数
1
解决办法
2738
查看次数