Quindi MVC 4 introduce il raggruppamento di script e stile. Che consente per questo:mvc4 raggruppamento bundle fortemente tipizzati
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
"~/Scripts/jquery.mobile-*"));
quindi utilizzato in una vista rasoio come questo:
@Scripts.Render("~/bundles/mobile")
mia domanda è perché devo digitare "~/bundles/mobile"
? C'è un modo per ottenere l'intelligenza di avere un oggetto fortemente tipizzato da raccogliere? Altrimenti devo andare a cercarlo per assicurarmi che lo chiamo la stessa cosa.
Vorrei fare qualcosa di simile: (so che questo non si compila in questo modo, è solo un esempio)
public static void RegisterBundles(BundleCollection bundles)
{
Bundle mobile = new Bundle("mobile");
mobile.AddFile("w/e")
bundles.Add(mobile);
//in page:
@Scripts.Render(BundleConfig.mobile)
o qualcosa in tal effetto.
Modifica: la risposta è così semplice. Come @Hao Kung
indica @Styles.Render
prende semplicemente un percorso di stringa url. Ho creato una classe per mantenere i percorsi.
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
}
in qualsiasi pagina, allora è sufficiente fare
@Styles.Render(bundles.jqueryUi)
gioco è fatto. Un piccolo sforzo in più da parte tua, ma almeno è fortemente digitato ora.
ah sì certo! Mi sento stupido ora – Eonasdan