MVC4-Bündelung stark typisierter Bündel
Daher führt MVC 4 die Bündelung von Skripten und Stilen ein. Was das erlaubt:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
"~/Scripts/jquery.mobile-*"));
dann in einer gestochen scharfen Ansicht wie folgt verwendet:
@Scripts.Render("~/bundles/mobile")
Meine Frage ist, warum ich tippen muss"~/bundles/mobile"
? Gibt es eine Möglichkeit, Intelligenz zu erlangen, um ein stark typisiertes Objekt zur Hand zu haben? Ansonsten muss ich nachsehen, um sicherzugehen, dass ich es genauso nenne.
Ich würde gerne so etwas machen: (Ich weiß, das wird nicht so kompiliert, es ist nur ein Beispiel)
public static void RegisterBundles(BundleCollection bundles)
{
Bundle mobile = new Bundle("mobile");
mobile.AddFile("w/e")
bundles.Add(mobile);
//in page:
@Scripts.Render(BundleConfig.mobile)
oder etwas zu diesem Effekt.
Bearbeiten: Die Antwort ist so einfach. Wie@Hao Kung
weist darauf hin@Styles.Render
Nimmt einfach einen URL-Pfad. Ich habe eine Klasse erstellt, um die Pfade zu halten.
public class bundles
{
#region Javascript
public static string scripts = "~/bundles/scripts";
...
#endregion
#region CSS
public static string css = "~/Content/css";
public static string jqueryUi = "~/Content/themes/base/css";
...
#endregion
}
auf jeder seite dann machst du einfach
@Styles.Render(bundles.jqueryUi)
hier hast du es. Ein bisschen mehr Aufwand von Ihrer Seite, aber zumindest ist es jetzt stark getippt.