【问题标题】:The Layout page doesn't load css (asp.net mvc)布局页面不加载 css (asp.net mvc)
【发布时间】:2014-11-25 09:07:12
【问题描述】:

我使用以下包来加载 css,它可以工作:

bundles.Add(new StyleBundle("~/bundles/jqGrid-styles").Include(
                "~/Content/themes/base/jquery-ui.css",
                "~/Content/jquery.jqGrid/ui.jqgrid.css"));

...

在我的布局页面中这是可行的:

@Styles.Render("~/bundles/jqGrid-styles")

如果我尝试简单地将链接添加到页面它不起作用。

这根本不起作用:

<link href="~/Content/themes/base/jquery-ui.css" rel="stylesheet" />
<link href="~/Content/jquery.jqGrid/ui.jqgrid.css" rel="stylesheet" />

有人可以通过简单地将链接添加到页面的链接来解释我的原因吗?文件位于正确的位置。

【问题讨论】:

  • 您能否添加由 元素生成的 HTML,并判断这些样式表是否是从服务器请求的,结果如何?
  • 我认为文件名中的点可能会产生问题,而不是 . 使用 -
  • html 是:
  • 页面检查器说它从未使用过
  • @Kartikeya 点应该不是问题

标签: jquery css asp.net asp.net-mvc


【解决方案1】:

你需要添加Url.Content方法:-

<link href="@Url.Content("~/Content/themes/base/jquery-ui.css") rel="stylesheet" />
<link href="@Url.Content("~/Content/jquery.jqGrid/ui.jqgrid.css") rel="stylesheet" />

您需要从应用程序absolute 路径中选择文件。

【讨论】:

  • 你错了。 MVC 是 ASP.NET 的一部分,绝对可以解释问题中的 URL,并将波浪号替换为基本 URL。我们自己做没有问题。您需要在 Url.Content 调用中添加一个左引号。
  • @TsahiAsher - 感谢您的指点,已更正!此外,正如 OP 所指出的那样,生成的 href 是 href="/Content/themes/base/jquery-ui.css",在我看来这是错误的。
  • 这有什么问题?如果他的站点在域的根目录下,那完全没问题。
  • 建议在 mvc 中工作时使用@Url.Content() helper,但我认为这不会解决 OP 的问题...
  • @TsahiAsher - 它对您有用,因为您可能正在本地运行您的应用程序,请使用 ASP.NET MVC 检查此问题:-blogs.msdn.com/b/rickandy/archive/2011/04/22/…
【解决方案2】:

试试这个方法,它是基本的html:

<link rel="stylesheet" href="~/Content/themes/base/jquery-ui.css" ></link>
<link rel="stylesheet" href="~/Content/jquery.jqGrid/ui.jqgrid.css" ></link>

【讨论】:

    猜你喜欢
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    相关资源
    最近更新 更多