c# - 不显示布局页面,在除索引之外的其他视图中工作。C# ASP.NET 核心
问题描述
嗨,stackoverflowers。
长话短说,我目前正在 ASP.net Core MVC 中构建用户界面。我创建了一个返回视图的动作控制器。如下所示。
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 和徽标的路径出错了。问题是代码试图在 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)。
推荐阅读
- javascript - 如何使用 L.Routing.line?
- kubernetes - 允许 UDP 的 kubernetes 出口策略
- python-3.x - 查找两列 df 之间存在的任何元素
- vb.net - 如何在 VB.NET 中创建 JSON 对象
- coldfusion - 我们可以在基于脚本的样式中使用具有位置属性的 cfparam 吗?
- appium - 如何停止出现默认启动消息
- javascript - vue2-google-map 加载库失败
- apache-spark - 将 spark_sklearn 与 Kubernetes 集群一起使用
- sql-server - 许多停止和启动设备的许多日期之间的日期差异(工作时间)
- excel - 以不同的时间间隔对时间进行分类