5

MVC 4, komut dosyası ve stil paketi sunar. Hangisi bu izin verir:mvc4 güçlü bir şekilde yazılan paketler topluca

public static void RegisterBundles(BundleCollection bundles) 
    { 
    bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
        "~/Scripts/jquery.mobile-*")); 

sonra böyle bir jilet görünümünde kullandı: Ben "~/bundles/mobile" yazmak zorunda neden

@Scripts.Render("~/bundles/mobile") 

Sorum şu? Almak için güçlü bir şekilde yazılan bir nesneye sahip olmanın bir yolu var mı? Aksi halde, aynı şeyi söylediğimden emin olmak için bakmam gerek.

ben böyle bir şey yapmak istiyorum: (Bu bu şekilde derlemek olmayacağını biliyorum, sadece bir örnek) o etkileme

public static void RegisterBundles(BundleCollection bundles) 
    { 
    Bundle mobile = new Bundle("mobile"); 
    mobile.AddFile("w/e") 
    bundles.Add(mobile); 

//in page: 
@Scripts.Render(BundleConfig.mobile) 

falan.

Düzeltme:: Yanıt çok basit. @Hao Kung, @Styles.Render'un işaret ettiği gibi, bir URL dizgisi yolu alır. Yolları tutmak için bir sınıf oluşturdum. Herhangi bir sayfadan

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 
} 

o zaman sadece orada
@Styles.Render(bundles.jqueryUi) 

yapmak o var. Senin için biraz fazla çaba harcamak, ama en azından şimdi güçlü bir şekilde yazılmıştır.

cevap

2

Render Scripts/Styles Oluşturma yardımcıları, demetlere yapılan başvurularla sınırlı kalmamakta, herhangi bir URL'yi çözümlememektedir, bu nedenle yardımcıların bir paketi referans almak istediğinizi saptamanın tek yolu, sanal yolun içinden geçmektir. Demet.

+0

ah evet tabi ki! Şimdi aptal hissediyorum – Eonasdan

İlgili konular