有没有办法在尝试渲染之前测试一个bundle是否存在?
我想做这样的事情:
@{
var bundleName = GetBundleName();
}
@if (Scripts.BundleExists(bundleName))
{
@Scripts.Render(bundleName)
}
显然,Scripts.BundleExists()
并不是真的,但是有什么内容可以做到这一点吗?或者我自己必须实现这个?
答案 0 :(得分:3)
您可以通过以下方式获取视图中的包:
var bl = System.Web.Optimization.BundleTable.Bundles;
然后您可以按照在BundleConfig中注册的路径搜索集合中的特定包。之后检查路径或任何包含的路径是否存在。
答案 1 :(得分:0)
我不知道有什么方法(我也找不到办法)让你做这个内置于框架中的方法。如果你真的必须这样做,我会指出Herman的解决方案。
Asp.Net MVC Bundling, best way to detect missing file
你的捆绑包是否动态?如果没有,我会建议这可能不是你需要的。一旦你第一次正确设置它们,它们就不会失败。