Por lo tanto, MVC 4 introduce el agrupamiento de scripts y estilos. Lo que permite esto:mvc4 agrupación de paquetes fuertemente tipados
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
"~/Scripts/jquery.mobile-*"));
utiliza entonces en una vista de afeitar como esto:
@Scripts.Render("~/bundles/mobile")
Mi pregunta es ¿por qué tengo que escribir "~/bundles/mobile"
? ¿Hay alguna manera de obtener inteligencia para tener un objeto fuertemente tipado para captar? De lo contrario, tendré que buscarlo para asegurarme de llamarlo de la misma manera.
me gustaría hacer algo como esto: (Sé que esto no se compilará esta manera, es sólo 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 a ese efecto.
Editar: la respuesta es tan simple. Como @Hao Kung
señala @Styles.Render
simplemente toma una ruta de cadena url. Creé una clase para mantener los pathes.
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 a continuación, sólo tiene que hacer
@Styles.Render(bundles.jqueryUi)
ahí lo tienen. Un pequeño esfuerzo adicional de tu parte, pero al menos está fuertemente tipado ahora.
ah sí, por supuesto! Me siento estúpido ahora – Eonasdan