布局页面不显示,工作在除索引之外的其他视图。 C# ASP.NET 核心

Layout page is not displayed, working in other Views except index. C# ASP.NET CORE

大家好 Whosebugers。

长话短说,我目前正在 ASP.net 核心 MVC 中构建用户界面。我创建了一个 returns 视图的动作控制器。如下所示。

public class VehicleHomeController : Controller
{
    private readonly IVehicleHomeService _vehicleHomeService;

    private readonly IMapper _mapper;

    public VehicleHomeController(IVehicleHomeService vehicleHomeService, IMapper mapper)
    {
        this._mapper = mapper;
        this._vehicleHomeService = vehicleHomeService;
    }
    public IActionResult Index()
    {
        return View();
    }

    public async  Task<IActionResult> Edit(int id)
    {
        var vehicleHome = await _vehicleHomeService.GetVehicleHomeById(id);

        var vehicleHomeResource = _mapper.Map<VehicleHome, VehicleHomeViewModel>(vehicleHome);

        return View(vehicleHomeResource);
    }
}

返回索引视图就像流程一样。它正确使用布局页面。但是,在创建编辑视图时,布局显示不正确。两个动作控制器在提供布局的代码中看起来相同。

@{
     Layout = "_Layout";
}

我已经搜索了答案。一种常见的解决方案是定义 layout = "/Views/Shared/_Layout.cshtml";。 但是,这不适用于我的应用程序。有没有人有任何类似的问题或任何提示?

问题已解决。

寻找布局CSS和Logos的路径就出错了。问题是代码试图在 PathForTheApplicationLocalHost/Edit/images/logo.svg 中获取自定义 CSS 和徽标。还有 PathForTheApplicationLocalHost/Edit/css/custom.css.

而正确的路径应该是PathForTheApplicationLocalHost/css/custom.css。我通过在 _Layout.cshtml

中定义以下内容解决了这个问题
<link rel="stylesheet" type="text/css" href="~/css/custom.css">

这使得在编辑视图中调用布局的路径正确 (PathForTheApplicationLocalHost/css/custom.css)。