2017-05-07 43 views
5

ASP.NET MVC'nin nasıl çalıştığını anlamaya çalışıyorum ve MVC Music Store Tutorial'u takip etmem gerekiyor, ancak farklı (daha güncel) yazılımları kullanıyorum çünkü sorun yaşıyorum.Bu kullanım dışı bir kodlama mı? ASP.Net MVC

this sayfasına göre StoreController.cs benim eylem yöntemimde List türlerini eklemeliyim. Ancak Visual Studio'ya göre, bu kod parçası yanlış görünüyor veya tanınmıyor gibi görünüyor. Hata diyor: Identifier expected;'new' is a keyword. Farklı kod kullanmalı mıyım yoksa bunu model sınıfımda bir şekilde mi yapmalıyım?

public ActionResult Index() 
{ 
    var genres = new List<Genre> 
    { 
     new Genre = { Name = "Disco" }, 
     new Genre = { Name = "Jazz" }, 
     new Genre = { Name = "Rock" } 
    }; 

return View(); 
} 

böyle bir şey işi ?:

public ActionResult Index() 
{ 
    //var genres = new List<Genre> 
    //{ 
    // new Genre = { Name = "Disco" }, 
    // new Genre = { Name = "Jazz" }, 
    // new Genre = { Name = "Rock" } 
    //}; 

    var genres = new List<Genre>(); 
    genres.Add(new Genre() { Name = "Disco" }); 
    genres.Add(new Genre() { Name = "Jazz" }); 
    genres.Add(new Genre() { Name = "Rock" }); 

    return View(); 
} 

Ve bu sürekli ben Endeksi eylem yöntemiyle aday olacağını her türler eklemez yapmak gerekmez mi?

cevap

5

Sözdizimi yanlış. İlk snippet'iniz bir nesne başlatıcısıdır ve Genre'un yeni bir örneğini oluşturduğunuz ve Name özelliğini atadığınız ikinci kod bloğundan farklı değildir, yalnızca ilk durumdanew Genre()'a atanmaya çalışırsınız.

ikinci soruya cevap vermek için Object Initializer

public ActionResult Index() 
{ 
    var genres = new List<Genre> 
    { 
     new Genre { Name = "Disco" }, 
     new Genre { Name = "Jazz" }, 
     new Genre { Name = "Rock" } 
    }; 
    return View(); 
} 
+0

Ah, yanlış yaptığımı görüyorum. "Ön taraftaki semboller. – Barrosy

2

Devamı üzerinde, evet (bellekte tamamen) o liste oluşturulur ve ardından eylem, her çalıştırıldığında atılır alacak. Sadece örnek kod olması gerekiyordu, eğer uygulamanız daha karmaşıksa, muhtemelen başka bir yerden bu gibi listeler alacaksınız. Ayrıca, kod bu listede herhangi bir şey yapmıyor gibi görünüyor, ama sanırım dışarıda kalıyor - muhtemelen modelin ya da viewbag'in bir parçası olarak istersiniz.