【发布时间】:2016-08-06 00:40:40
【问题描述】:
如果登录用户是管理员,我想在捆绑包中加载一些 js。 像这样的:
@if (@ViewBag.IsAdmin)
{
@section Scripts {
@Scripts.Render("~/bundles/admin")
}
}
如果他是管理员,我希望“脚本”部分能够填写。但是,在客户端,我看不到“~/bundles/admin”包中的 js。
我更改了我的代码,但没有使用@section:
@if (@ViewBag.IsAdmin)
{
@Scripts.Render("~/bundles/admin")
}
但同样的问题。看起来捆绑包无法在运行时动态加载。
我可以通过它的唯一方法:
@if (@ViewBag.IsAdmin)
{
<script src="~/Scripts/admin.js"></script>
}
这意味着直接加载js而不是把它放在bundle中。 所以我的问题是:无论如何我可以动态加载捆绑包吗?
【问题讨论】:
-
显示如何定义捆绑包。捆绑脚本是否在没有
if条件的情况下加载? -
它在没有 if 条件的情况下加载,我将在问题的后面更新我的包定义以获得更清晰的含义。
-
你确定
ViewBag.IsAdmin是真的吗?尝试调试此代码。 -
我调试了代码并确保它通过了生成包的行。我不知道为什么,但我只是尝试重新启动 Visual Studio,现在可以了 @.@ 抱歉我的转储问题 @.@
标签: asp.net-mvc razor asp.net-mvc-5 bundle