与 MVC 中的便携式区域共享布局 ASP.NET



我的应用程序旨在使用可移植区域来构建功能模块。但是,这些模块中的每一个都必须使用根项目中的_LayoutBase。这些模块的布局设置为布局 = "~/视图/共享/_LayoutBase.cshtml";访问时不会加载_LayoutBase中引用的 css 和脚本

http:/localhost/RootWeb/module1/account/login

任何想法我如何解决这个问题。任何帮助都非常感谢

  • 乔治

我刚刚处理了这种类型的问题,这是我们的解决方法:

为您的模块打开 _ViewStart.cshtml 并更改为以下内容:

@{
    this.Layout = "~/Areas/<YourModuleName>/Views/Shared/_Layout.cshtml";
}

打开模块的 _Layout.cshtml 并更新以下内容(将其设置为根应用程序的_Layout):

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

此外,关于CSS/脚本问题,您有几个选项:

  1. 更新对上述区域的所有引用;"~/内容/样式.css" ==> "/区域名称/内容/样式.css"(JS文件也是如此)
  2. 将 CSS/JS 添加到根包配置和布局中,确保从那里加载它。 请记住将所有其他必需的资产也移动到根目录,否则您将丢失图像等。

最新更新