1

我们有一个使用 Umbraco/Razor 制作的网站。

我使用 ClientDependency (Razor) 升级了模板,如下所示。

@using ClientDependency.Core.Mvc

@{
    Layout = null;
    @Html.RequiresCss("~/css/normalize.css")
    @Html.RequiresCss("~/vendor/bootstrap-3.1.1/css/bootstrap.min.css")
    @Html.RequiresCss("~/vendor/font-awesome-4.0.3/css/font-awesome.min.css")
    @Html.RequiresCss("~/css/bootstrap.css")
    @Html.RequiresCss("~/css/RichTextEditor.css");
    @Html.RequiresJs("~/js/vendor/modernizr-2.6.2.min.js")
    @Html.RequiresJs("~/scripts/SubscribeProcess.js")
    @Html.RequiresJs("~/scripts/CookieMethods.js");
    @Html.RequiresJs("~/scripts/DownloadProcess.js");
}

我在标题中添加了这个

 @Html.RenderCssHere()
 @Html.RenderJsHere()

运行网站后,我在正文顶部收到一条消息。

System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]
System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]
System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]
System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]
System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]
System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]
System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]
System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]
System.Web.Mvc.HtmlHelper`1[Umbraco.Web.Models.RenderModel]

此消息重复 9 次。就像使用@Html.RequiresCss 或@Html.RequiresJs 加载的文件量一样。

有没有人有这个问题或知道解决方案?

提前致谢!

4

2 回答 2

5

Html.RequiresJs 之前的@ 需要删除。

结果:

@using ClientDependency.Core.Mvc

@{
    Layout = null;
    Html.RequiresCss("~/css/normalize.css")
    Html.RequiresCss("~/vendor/bootstrap-3.1.1/css/bootstrap.min.css")
    Html.RequiresCss("~/vendor/font-awesome-4.0.3/css/font-awesome.min.css")
    Html.RequiresCss("~/css/bootstrap.css")
    Html.RequiresCss("~/css/RichTextEditor.css");
    Html.RequiresJs("~/js/vendor/modernizr-2.6.2.min.js")
    Html.RequiresJs("~/scripts/SubscribeProcess.js")
    Html.RequiresJs("~/scripts/CookieMethods.js");
    Html.RequiresJs("~/scripts/DownloadProcess.js");
}
于 2014-09-09T11:32:32.297 回答
0

我认为前面的答案在文本中是正确的——它不应该有 @ 符号——但粘贴的代码仍然有 @ 符号。相反,它应该是,例如:

@{
Layout = null;

Html.RequiresCss("~/css/jquery-ui.css");
Html.RequiresJs("~/scripts/jquery.min.js", 1);
Html.RequiresJs("~/scripts/jquery.dropotron.min.js", 2);
Html.RequiresJs("~/scripts/config.js", 3);
Html.RequiresJs("~/scripts/skel.min.js", 4);
Html.RequiresJs("~/scripts/skel-layers.min.js", 5);
Html.RequiresJs("~/scripts/init.js", 6);
Html.RequiresJs("~/scripts/konami.js", 7);
Html.RequiresJs("~/scripts/konamicode.js", 8);
Html.RequiresJs("~/scripts/jquery-ui.min.js", 9);
Html.RequiresJs("~/scripts/slimmage.settings.js", 10);
Html.RequiresJs("~/scripts/slimmage.min.js", 11);
Html.RequiresJs("~/scripts/ion.sound.min.js", 12);
Html.RequiresJs("~/scripts/jquery.ion.sound.min.js", 13);

}

然后正如 OP 所写,将其添加到标题中:

 @Html.RenderCssHere()
 @Html.RenderJsHere()

这对我有用,ClientDependency 现在正在工作。

于 2014-12-01T01:03:58.167 回答