2017-01-22 132 views
2

有没有一种方法来测试,如果一个包试图使其前存在?如何检查是否MVC束存在

我想要做这样的事情:

@{ 
    var bundleName = GetBundleName(); 
} 

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

显然,Scripts.BundleExists()是不是真实的,但它有一些在建做这个?或者我必须自己实现这一点?

+0

也许这可以帮助:http://stackoverflow.com/questions/21042524/is-there-a-way-to-determine-an-asp-net-mvc-bundle-is-rendered-before-or-not –

回答

3

您可以得到在查看各个包:

var bl = System.Web.Optimization.BundleTable.Bundles;

然后你就可以通过路径搜索的集合特定束在BundleConfig注册。之后检查路径或任何包含的路径是否存在。

+1

非常感谢。对于它的价值,我使用了BundleTable.Bundles.Any(y => y.Path == bundleName) – StanK

0

我不知道的任何方式(也不是我能找到一种方法)为你做这一点,内置的框架。如果你真的需要这样做,我会向你指出赫尔曼的解决方案。

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

是你的包的动态?如果没有,我会建议这可能不是你需要的东西。第一次让他们正确安装后,他们不应该失败。