Yeni bir Model oluşturmak için kullandığınızda, Visual Studio'nun bazı sürümlerinin sizin için otomatik olarak oluşturduğu Görünüm dosyaları arasında bir uyumsuzluk olduğu görülüyor. Bu sorunla yeni VS 2013 Community Edition'ı kullanarak ve http://www.w3schools.com/aspnet/mvc_app.asp adresindeki W3Schools öğreticisinde gezinirken karşılaştım. ancak yukarıdaki yorumlar bunun eğitim yönergeleri veya bir VS'nin tek versiyonu.
Hata mesajı yapabilirsiniz doğrudur gitmesini sadece kaldırarak
@Scripts.Render("~/bundles/jqueryval")
Visual Studio tarafından otomatik olarak oluşturulan oluşturma / düzenleme düzenlerindeki satır.
Ancak bu çözüm, temel nedeni ele almıyor veya sizi öğreticide yürümeyi bitirmekten daha fazlasını yapmak için iyi bir yerde bırakmıyor. Gerçek bir uygulamanın geliştirilmesinin bir noktasında (muhtemelen oldukça erken), yorumlama çözümünün uygulamanızdan kaldırdığı jquery doğrulama koduna erişmek isteyeceksiniz.
VS'yi sizin için yeni bir model oluşturmak için kullanırsanız, aynı zamanda beş Görünüm dosyası kümesi oluşturur: Oluştur, Sil, Ayrıntılar, Düzenle ve Dizin. Bu görünümlerden ikisi olan Oluştur ve Düzenle, kullanıcının modelin temelini oluşturan veritabanı kayıtlarındaki alanlar için veri eklemesine / düzenlemesine izin vermeyi amaçlar. Gerçek bir uygulamadaki bu görünümler için, kaydı db'ye kaydetmeden önce muhtemelen jquery doğrulama kitaplığını kullanarak bir miktar veri doğrulaması yapmak isteyeceksiniz. VS'nin aşağıdaki satırları eklemesinin nedeni budur
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
bu iki görüşün dibine, diğerlerine değil. Otomatik oluşturulan kod, doğrulama kitaplığını bu görünümler için kullanılabilir hale getirmeye çalışıyor, ancak diğerleri için değil.
Hata, VS'nin paylaşılan _Layout.cshtml dosyasına karşılık gelen bir satır eklememesi veya yukarıdaki bir yanıta bakın, onu eklemesi ancak yorumsuz bırakması nedeniyle oluşur. Bu çizgi
@RenderSection("scripts", required: false)
Görünümlerinizden bazılarında bir komut dosyaları bölümü varsa (Oluştur ve Düzenle gibi), düzende gömülü bir RenderSection komutu bulunmalıdır. Bazı komut dosyalarında bölüm varsa ve bazılarında yoksa (Sil, Ayrıntılar ve Dizin'de bulunmuyorsa), RenderSection komutununrequired: false
parametreye .
Bu nedenle, öğreticide yürümeyi bitirmekten daha fazlasını yapmak istiyorsanız en iyi çözüm, ifadeyi _Layout.cshtml'ye eklemektir, kodu Düzenle ve Oluştur görünümlerinden kaldırmayın.
PS Bu biraz kafa karıştırıcıdır, burada, gerekli olanın bir 'paket' içinde olması ve gereksinim ifadesinin, projenizde bulunmayan bir paketler klasörüne bir dosya eklemeye çalışıyor gibi görünmesi. Ancak, hata ayıklama derlemeleri ve öğreticiler için, paketlenmiş dosyalar her seferinde bir tane içerildiğinden bu önemli değildir. Bakınız: http://www.asp.net/mvc/overview/performance/bundling-and-minification Burada söz konusu olan kod, sayfanın üçte ikisinde kısaca belirtilmiştir.