16

使用 VS'12, Asp.net - C# - InternetApplication Template, KendoUI, EF Code First

这是我的 MVCBundleConfig.cs

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

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

        // The Kendo CSS bundle
        bundles.Add(new StyleBundle("~/Content/kendo").Include(
                "~/Content/kendo/kendo.common.*",
                "~/Content/kendo/kendo.default.*"));

        // The Kendo JavaScript bundle// or kendo.all.min.js if you want to use Kendo UI Web and Kendo UI DataViz
        bundles.Add(new ScriptBundle("~/bundles/kendo").Include(
                                    "~/Scripts/kendo/kendo.web.min.js",
                                    "~/Scripts/kendo/kendo.aspnetmvc.min.js"));

你也应该知道我在结尾处运行了这两行BundleConfig.cs

        bundles.IgnoreList.Clear();
        bundles.DirectoryFilter.Clear();

当我尝试托管项目时,我收到了403 Access Denied , File Forbidden 错误。

我尝试使用This Awesome Post作为参考,我确实在其中更改了一些内容,但仍然出现错误。

我想这是因为 KendoUI 附带了 .min 文件,但我不能确定。

供您参考,这是我的_Layout.cshtml,以及我如何调用脚本。

    @Scripts.Render("~/bundles/jquery")
    @Styles.Render("~/Content/css")
    @Styles.Render("~/Content/kendo")
    @Scripts.Render("~/bundles/kendo")
4

2 回答 2

36

尝试改变

bundles.Add(new StyleBundle("~/Content/kendo").Include(
            "~/Content/kendo/kendo.common.*",
            "~/Content/kendo/kendo.default.*"));

bundles.Add(new StyleBundle("~/bundles/css/kendo").Include(
            "~/Content/kendo/kendo.common.*.css",
            "~/Content/kendo/kendo.default.*.css"));

接着

@Styles.Render("~/Content/kendo")

@Styles.Render("~/bundles/css/kendo")
于 2013-08-27T20:30:53.803 回答
4

这是因为您对 stylebundle 使用与现有目录相同的“别名”(/Content/kendo)。

一旦您使用另一个别名(/Content/css/kendo/ 或 /Content/whatevernonexistingdir),您的问题就解决了。

但请注意:css 的“根”已更改,因此在您的 css 中使用指向子文件夹的(背景)图像时,请考虑到这一点!

于 2013-08-29T08:11:51.850 回答