2012-11-19 18 views
7

मुझे jquery के साथ कुछ क्रॉस ब्राउज़र समस्याओं का सामना करना पड़ रहा है, कुछ शोध के बाद मुझे पता चला कि मेरा ऐप jquery 1.8.11 के साथ काम कर रहा है या कम से कम मुझे ऐसा लगता है।asp.net mvc4 परिवर्तन jquery संस्करण

मेरा प्रोजेक्ट सी # के साथ एक एमवीसी 4 एएसपीनेट ऐप है।

असल में मैं अक्षम करने की कोशिश कर रहा हूं - कुछ बटन सक्षम करें, यह आईई पर ठीक काम करता है लेकिन क्रोम/फ़ायरफ़ॉक्स/सफारी में नहीं है।

<ul class="ui-grid-d"> 
<li class="ui-block-a"><a id="MostrarDetallePedido" class="ui-btn ui-btn-up-a" disabled="disabled" href="/Documentos/Docs/DocsDetalle?StrIdDocumento=01500___00000000000000041" data-role="button" data-theme="a" data-ajax="false"><span aria-hidden="true" class="ui-btn-inner"><span class="ui-btn-text">Detalle</span></span></a></li> 
<li class="ui-block-b"><a id="ItemCondiciones" class="ui-state-disabled ui-btn ui-btn-up-b" disabled="disabled" href="/Documentos/Docs/DocsDetalle?StrIdDocumento=01500___00000000000000041" data-role="button" data-theme="b" data-ajax="false"><span aria-hidden="true" class="ui-btn-inner"><span class="ui-btn-text">Condiciones</span></span></a></li> 
<li class="ui-block-c"><a id="ItemEliminar" class="ui-state-disabled ui-btn ui-btn-up-c" disabled="disabled" href="/Documentos/Docs/DocsDetalle?StrIdDocumento=01500___00000000000000041" data-role="button" data-theme="c" data-ajax="false"><span aria-hidden="true" class="ui-btn-inner"><span class="ui-btn-text">Eliminar</span></span></a></li> 
<li class="ui-block-d"><a id="ItemAdiciones" class="ui-state-disabled ui-btn ui-btn-up-d" disabled="disabled" href="/Documentos/Docs/DocsDetalle?StrIdDocumento=01500___00000000000000041" data-role="button" data-theme="d" data-ajax="false"><span aria-hidden="true" class="ui-btn-inner"><span class="ui-btn-text">Adiciones</span></span></a></li> 
<li class="ui-block-e"><a id="ItemComponentes" class="ui-state-disabled ui-btn ui-btn-up-e" disabled="disabled" href="/Documentos/Docs/DocsDetalle?StrIdDocumento=01500___00000000000000041" data-role="button" data-theme="e" data-ajax="false"><span aria-hidden="true" class="ui-btn-inner"><span class="ui-btn-text">Componentes</span></span></a></li> 
</ul>​ 

मैं

$('#ItemEliminar').addClass('ui-disabled');​ 

इस तरह tryed

$('#ItemEliminar').button({ disabled: false }).button('enable').button('refresh'); 

को मैं http://jsfiddle.net/9386M/1/ पर हमारे अपने स्क्रिप्ट के साथ कुछ परीक्षण किए गए और यह jQuery 1.8.2 के साथ ठीक काम करते हैं।

ठीक है, सब मुझे पता है की जरूरत है मेरी jQuery पुस्तकालय को बदलने का तरीका, मैं _Layout.cshtml देख रहा था रहा हूँ, लेकिन मैं अपने jQuery lib के सभी संदर्भ नहीं मिल सकता है।

स्क्रिप्ट पर मैंने पाया jQuery-ui-1.8.11.js jQuery-ui-1.8.11.min.js jQuery-1.6.4.js jQuery-1.6.4.min.js

फ़ोल्डर यह करने के लिए

उत्तर

11

दो तरीके:

  1. ठीक है, अपने समाधान पर क्लिक करें का चयन करें "NuGet संकुल प्रबंधित करें ...", खोला संवाद में "अपडेट" के लिए जाने के लिए और jQuery अद्यतन करें।

  2. /App_Start/BundleConfig.cs पर जाएं और वहां से jQuery संदर्भ अपडेट करें। आपको /Scripts/ फ़ोल्डर में jQuery लाइब्रेरी का उपयुक्त संस्करण भी रखना होगा।

और आप हमेशा "jQuery" स्ट्रिंग के लिए सभी समाधान में खोज कर सकते (प्रेस Ctrl +शिफ्ट + एफ और "सम्पूर्ण समाधान" का चयन में बता गया "में देखो")

+2

मैं एमवीसी 4 का उपयोग कर रहा हूं और मुझे केवल काम करने के लिए चरण 1 को पूरा करने की आवश्यकता है। – Sgraffite

+0

^^ ऐसा इसलिए है क्योंकि BundleConfig.cs में बंडल हमेशा नवीनतम संस्करण प्राप्त करने के लिए एक regex पैटर्न पर मैप करने के लिए {version} का उपयोग करता है। – eaglei22

3

एमवीसी 4 बंडलिंग का उपयोग करता है।

App_Start => ओपन BunlingConfig.cs

पर जाएं आप नीचे दिए गए की तरह सामान देखेंगे:

// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
        "~/Scripts/jquery-ui-{version}.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
        "~/Scripts/jquery.unobtrusive*", 
        "~/Scripts/jquery.validate*")); 

     // and bunch of other bundles 

    } 

यहाँ पहली पंक्ति jQuery के लिए एक बंडल बनाता है।

आप नीचे दिए गए के लिए इसे बदल सकते हैं:

 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-1.8.2.min.js")); 

आप नीचे के रूप में कर cdn उपयोग करना चाहते हैं सुनिश्चित करें कि आप पुस्तकालय डाउनलोड किया करते हैं:

 bundles.UseCdn = true; 

     const string jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"; 

     bundles.Add(new ScriptBundle("~/bundles/jquery", 
            jqueryCdnPath).Include("~/Scripts/jquery-{version}.js")); 
के लिए बंडलों

तुम भी बना सकते हैं अपने फ़ाइलें।आपको लगता है कि यहाँ http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4

लेआउट फ़ाइल में अधिक पढ़ सकते हैं, वे नीचे की तरह खपत होती है:

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

आशा इस मदद करता है।

+0

बहुत tks, मैं अब कोशिश कर रहा हूँ। –

+0

@ जुआनपाब्लोगोमेज़ एनपी। अगर कोई समस्या है तो मुझे बताएं। – Yogiraj

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