如何检查MVC包是否存在

时间:2017-01-22 20:46:16

标签: asp.net-mvc asp.net-mvc-5

有没有办法在尝试渲染之前测试一个bundle是否存在?

我想做这样的事情:

@{
    var bundleName = GetBundleName();
}

@if (Scripts.BundleExists(bundleName))
{
    @Scripts.Render(bundleName)
}

显然,Scripts.BundleExists()并不是真的,但是有什么内容可以做到这一点吗?或者我自己必须实现这个?

2 个答案:

答案 0 :(得分:3)

您可以通过以下方式获取视图中的包:
var bl = System.Web.Optimization.BundleTable.Bundles;

然后您可以按照在BundleConfig中注册的路径搜索集合中的特定包。之后检查路径或任何包含的路径是否存在。

答案 1 :(得分:0)

我不知道有什么方法(我也找不到办法)让你做这个内置于框架中的方法。如果你真的必须这样做,我会指出Herman的解决方案。

Asp.Net MVC Bundling, best way to detect missing file

你的捆绑包是否动态?如果没有,我会建议这可能不是你需要的。一旦你第一次正确设置它们,它们就不会失败。