mvc4 agrupando paquetes fuertemente tipados
Así que MVC 4 introduce el paquete de estilo y script. Lo que permite esto:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
"~/Scripts/jquery.mobile-*"));
luego se utiliza en una vista de navaja como esta:
@Scripts.Render("~/bundles/mobile")
Mi pregunta es por qué tengo que escribir"~/bundles/mobile"
? ¿Hay alguna forma de que la inteligencia tenga un objeto fuertemente mecanografiado para recoger? De lo contrario, tengo que ir a buscarlo para asegurarme de que lo llamo lo mismo.
Me gustaría hacer algo como esto: (Sé que esto no se compilará de esta manera, es solo un ejemplo)
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 algo para que afecte.
Editar: la respuesta tan simple. Como@Hao Kung
Señala@Styles.Render
simplemente toma una ruta de cadena url. He creado una clase para mantener los parches.
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
}
en cualquier página entonces simplemente haces
@Styles.Render(bundles.jqueryUi)
ahí tienes. Un poco de esfuerzo adicional de su parte, pero al menos está fuertemente tipado ahora.