9

Visual studio 11 kullanarak ASP.net 4, MVC4 (RC) projesinde çalışıyorum. Kısmi bir görünüm sağlayan bir MVC4 Razor görünümü oluşturmaya çalışıyorum. Kısmi görünümüm için gerekli javascript var. Kısmi görünümümde, javascript'i komut dosyası bölümünün içine eklediğimde aşağıdaki gibi görünmüyor. Belge hazır kod çalıştığında MVC4 kısmi görünüm javascript bundling Sorun

@section Scripts { 
    <script type="text/javascript"> 
     $(function() { 
      alert("test"); 
     }); 
    </script> 
} 

Ben (paketlenmiş ve benim _Layout.cshtml sayfada oluşturulur) jquery kütüphaneleri gibi başarısız komut bölümünü kaldırırsanız

henüz yüklü değil.

<script type="text/javascript"> 
    $(function() { 
     alert("test"); 
    }); 
</script> 

_Layout Sayfa kodu

@Scripts.Render("~/bundles/jquery") 
@RenderSection("scripts", required: false) 

kimse bu için bir çözüm biliyor mu jQuery kütüphaneleri

yüklemek için, yoksa sadece bu konuda yanlış şekilde gidiyorum? Onun başımı yıkıyor!

@section Scripts { 
    <script type="text/javascript"> 
     alert("test"); 
    </script> 
} 

Ah, ve partials içinde komut koymayın:

cevap

10

kısmi bir document.ready daki komut sarmayın. Javascript kodu ayrı javascript dosyalarına yerleştirilmelidir. Bir kısmi yüklendiğinde bazı javascript'i çalıştırmak istiyorsanız, bu betiği kısmi yüklendikten sonra yeniden kullanabileceğiniz yeniden kullanılabilir bir işlev/eklentiye dönüştürmeniz yeterlidir.

+0

Yanıtınız için teşekkürler ama benim için çalışmadı. Sayfa kaynağına baktığımda belgeyi kaldırırken bile javascript eksik. Javascript'i ana görünümüne taşırsam (kısmi bir görünüm değil), yüklenir. Ama parasal görüşün yüküne ihtiyacım var. – martin

+0

Sonunda bunu işe aldı. Sayfayı scripts – martin

+3

ile oluşturduğumda Çok ilginçtir ki, problemi çözümünüz olmasa bile, kendi sorunun cevabını çizdi. : D – Samuel

4

Sonunda bunu işe koydu. Javascript'i kısmi görünümümden kaldırdım ve betik bölümünde (kısmi olmayan) ana görünüme yerleştirdim. Bu komut dosyası bölümü, iskele (Create) ile görünümü oluştururken otomatik olarak oluşturuldu ve sayfa. Bunu işe almak için, sayfanın üst kısmına taşımak zorunda kaldım - görüşmeden önce kısmi çalışmamı sağladım.

2

ClientDependency tam olarak bu sorunu çözer ve sayfanın sonuna (veya sizin belirttiğiniz yere) yerleştirilmiş ve alınacak kısmi görünümlere komut dosyası başvuruları eklemenize izin verir. Ayrıca sayfa, paket, sürüm ve minification sayfa ile ilgilenir.

Komut dosyası referansının "ana" görünümde olmasını sağlamanın ek yükü, kısmi beni rahatsız etmemekle birlikte, kendi komut dosyalarını ve CSS'yi gerektiren kısmi kısmi yükleriniz varsa, İstemci Bağımlılığı yararlı olabilir.

+0

Burada kısmi olarak komut dosyalarının özel problemini çözen daha küçük ve daha basit bir uzantı yöntemi var: http://blog.logrythmik.com/post/A-Script-Block-Templated-Delegate-for-Inline-Scripts-in-Razor-Partials – peter3

İlgili konular