在ASP.NET MVC中与可移植区域共享布局

时间:2012-11-15 22:00:45

标签: asp.net-mvc

我的应用程序旨在将便携式区域用于功能模块。但是这些模块中的每一个都必须使用根项目中的_LayoutBase。这些模块的布局设置为 Layout =“〜/ Views / Shared / _LayoutBase.cshtml”; 访问

时,不会加载_LayoutBase中引用的css和脚本

的http:/本地主机/ RootWeb /模块1 /帐户/登录

我知道如何解决这个问题。非常感谢任何帮助

  • 乔治

1 个答案:

答案 0 :(得分:2)

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

打开模块的_ViewStart.cshtml并更改为:

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

}

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

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

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

  1. 更新对所述区域的所有引用; “〜/ Content / style.css”==&gt; “/AreaName/Content/style.css”(和JS文件相同)
  2. 将CSS / JS添加到根捆绑包配置和布局中,确保从那里加载。请记住将所有其他所需资产移至根目录,否则您将缺少图像等。