尝试访问 ASP.Net 中捆绑的 slick.css 文件时出现“禁止错误”
Posted
技术标签:
【中文标题】尝试访问 ASP.Net 中捆绑的 slick.css 文件时出现“禁止错误”【英文标题】:"forbidden error" when trying to access the bundled slick.css file in ASP.Net 【发布时间】:2020-12-03 04:45:58 【问题描述】:我在我的 ASP.Net MVC
项目中使用 slick-carousel。如果我通过html中的普通<link>
标签链接slick.css
文件,它工作正常。但是如果我捆绑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
之前使用SlickTheme
的引用
@Sh.Imran :我更改了订单,但问题仍然存在。
@Archana 你找到解决方案了吗?我也面临着同样的问题……
【参考方案1】:
这不是 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"));
【讨论】:
您的解决方案对我有用,谢谢!以上是关于尝试访问 ASP.Net 中捆绑的 slick.css 文件时出现“禁止错误”的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.Net WebForms 中使用捆绑(来自 Systelm.Web.Optimization)会导致问题 [重复]
如何使用 ASP.NET 4.5 捆绑和 CDN 来获取 Bootstrap 3.2?
Azure 中的捆绑不适用于 bootstrap 和 jquery、ASP.NET MVC 5