5

तो एमवीसी 4 स्क्रिप्ट और शैली बंडल प्रस्तुत करता है। जो इस के लिए अनुमति देता है:एमवीसी 4 दृढ़ता से टाइप किए गए बंडल बंडल

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

तो इस तरह एक रेजर दृश्य में इस्तेमाल किया:

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

मेरा प्रश्न है कारण है कि मैं टाइप करने के लिए "~/bundles/mobile" है? क्या दृढ़ता से टाइप करने के लिए दृढ़ता से टाइप की गई वस्तु रखने का कोई तरीका है? अन्यथा मुझे यह सुनिश्चित करने के लिए देखना होगा कि मैं इसे एक ही चीज़ कहता हूं।

मैं कुछ इस तरह करना चाहते हैं: (मैं जानता हूँ कि यह इस तरह से संकलन नहीं होगा, यह सिर्फ एक उदाहरण है)

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

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

या कि प्रभावित करने के लिए कुछ।

संपादित: इस सवाल का जवाब बहुत आसान है। @Hao Kung अंक @Styles.Render के रूप में बस एक यूआरएल स्ट्रिंग पथ लेता है। मैंने पेटी पकड़ने के लिए एक कक्षा बनाई।

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 
} 
किसी भी पृष्ठ में

तो आप बस

@Styles.Render(bundles.jqueryUi) 

वहाँ क्या तुम्हारे पास है। आपके हिस्से पर थोड़ा अतिरिक्त प्रयास, लेकिन कम से कम यह दृढ़ता से टाइप किया गया है।

उत्तर

2

रेंडर स्क्रिप्ट/स्टाइल रेंडर हेल्पर्स बंडलों के संदर्भ प्रस्तुत करने तक सीमित नहीं हैं, वे किसी भी यूआरएल को हल करते हैं, इसलिए सहायक के लिए एकमात्र तरीका यह पता लगाने के लिए कि आप एक बंडल का संदर्भ देना चाहते हैं, वर्चुअल पथ में गुज़रना है बंडल

+0

आह हाँ! मैं अब बेवकूफ महसूस करता हूँ – Eonasdan

संबंधित मुद्दे