2017-01-22 6 views
2

Gibt es eine Möglichkeit zu testen, ob ein Paket vorhanden ist, bevor es versucht wird, es zu rendern?Überprüfen, ob das MVC-Paket vorhanden ist

möchte ich so etwas wie dies zu tun:

@{ 
    var bundleName = GetBundleName(); 
} 

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

Offensichtlich Scripts.BundleExists() ist nicht real, aber es gibt etwas zu bauen, dass dies tut? Oder muss ich das selbst umsetzen?

+0

Vielleicht hilft das: http://stackoverflow.com/questions/21042524/is-there-a-way-to-deterine-an-asp-net-mvc-bundle-is-rendered-before-or-not –

Antwort

3

Sie können das Bündel in der Ansicht erhalten von:

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

Dann können Sie die Sammlung für ein bestimmtes Bündel von Pfad suchen, wie in BundleConfig registriert. Danach überprüfen Sie, ob der Pfad oder einer der enthaltenen Pfade existiert.

+1

vielen Dank. Für was es wert ist, habe ich 'BundleTable.Bundles.Any (y => y.Path == bundleName)' verwendet – StanK

0

Ich bin mir keine Möglichkeit bewusst (noch war ich in der Lage, einen Weg zu finden) für Sie dies zu tun, die in das Framework eingebaut ist. Wenn Sie das wirklich tun müssen, würde ich Sie auf eine Lösung von Herman hinweisen.

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

Sind Ihre Bündel dynamisch? Wenn nicht, würde ich vorschlagen, dass dies nicht etwas ist, was Sie brauchen. Sobald Sie sie beim ersten Mal korrekt eingerichtet haben, sollten sie nicht fehlschlagen.

Verwandte Themen