2017-01-22 38 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

次の方法で表示中のバンドルを取得することができます:BundleConfigに登録して、あなたはパスすることによって、特定のバンドルのコレクションを検索することができます

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

。その後、パスまたは含まれているパスが存在するかどうかをチェックします。

+1

大変ありがとうございます。それは価値があるため、私は 'BundleTable.Bundles.Any(y => y.Path == bundleName)' – StanK

0

私はフレームワークに組み込まれているこれを行う方法については気づいていません(私は方法を見つけることもできませんでした)。あなたが本当にこれをしなければならないなら、私はHermanの解決策を指摘するでしょう。

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

あなたのバンドルは、動的ていますか?そうでない場合、私はこれがあなたが必要とするものではないかもしれないことを示唆します。初めて正しくセットアップしたら、失敗してはいけません。

関連する問題