尝试访问ASP.Net中捆绑的slick.css文件时出现“禁止的错误”

问题描述

我在ASP.Net MVC项目中使用光滑轮播。如果我通过HTML中的常规slick.css标签链接<link>文件,则可以正常工作。但是,如果我捆绑slick.css文件并以HTML格式呈现,则会显示禁止的错误(403)。

工作解决方案

<link rel="stylesheet" type="text/css" href="~/Content/Slick/slick.css" />
<link rel="stylesheet" type="text/css" href="~/Content/Slick/slick-theme.css" />

捆绑文件

bundles.Add(new StyleBundle("~/Content/Slick").Include(
                    "~/Content/Slick/slick.css"));

bundles.Add(new StyleBundle("~/Content/SlickTheme").Include(
                    "~/Content/Slick/slick-theme.css"));

引用捆绑的文件

@Styles.Render("~/Content/Slick")
@Styles.Render("~/Content/SlickTheme")

任何人都可以让我知道为什么只有捆绑时才出现这种错误吗?

解决方法

这不是Slick的特定问题,但是slick的NuGet安装的文件夹结构引起了它。

如果捆绑包名称与Web应用程序中确实存在的文件夹匹配,则会出现问题,因为该请求不会被识别为对捆绑包的访问,而是对随后未被授予的文件夹的访问。因此,如您在我的示例中所见,捆绑软件的命名方案与文件夹匹配。

 bundles.Add(new StyleBundle("~/Content/slick").Include("~/Content/Slick/slick.css"));

更改了此处所示的捆绑包名称(当然还有引用)后,它可以工作

 bundles.Add(new StyleBundle("~/Content/slickstyle").Include("~/Content/Slick/slick.css"));

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...