SORU
1 ŞUBAT 2011, Salı


MVC Razor, 'nesne' 'PropertyName tanımı' içermiyor model dinamik;

Razor view engine ile MVC 3 ile. Bu manzara var:

@model dynamic
@{
    var products = (List<ListItemBaseModel>)Model.Products;
    var threshold = (int)(Model.Threshold ?? 1);
    var id = Guid.NewGuid().ToString();
}

Başka bir açıdan bu kodu kullanarak denir:

@Html.Partial("PartialViewName", new { Products = Model, Threshold = 5 })

Ben onlara hata ayıklama ve Modeli izlerken, her iki Görüş, doğru nesneyi içeriyor gibi görünüyor. Bu bir hata alıyorum kodu öldürdüğümde "var =" line söyleyerek: . ürünleri

< . p ^'' için bir tanım içermiyor 'Ürün' . nesne

Kimsenin böyle bir hata alıyorum neden bana açıklayabilir mi? Seyrederken yine, Modeli güzel görünüyor modu (2 özellikler: Ürün ve Eşik) hata ayıklama nesne

CEVAP
4 ŞUBAT 2011, Cuma


Görünüm model olarak isimsiz bir sınıfın bir örneğini geçecek misiniz? Ben sadece bu (dinamik görünüm CSHTML model) ve anonim bir sınıfı kullanırken aynı hata var denedim, ama eğer adında bir sınıf oluşturdum eğer iyi çalıştı. Araştırdım ama her yerde bu belgelenmiştir görmedim.

// error
return View(new { Foo = 1, Bar = "test" });

// worked
return View(new TestClass { Foo = 1, Bar = "test" });

EDİT #1:

David Ebbo göre, anonim türleri internal derlenir çünkü dinamik olarak yazılan bir görünüm içine bir anonim tür geçemezsiniz. CSHTML görünümü ayrı bir derleme derlenmiş olduğundan, anonim tip özelliklerini erişebilir.

EDİT #2:

David Ebbo bu açıklama ile görevinden düzenlenmiş

MVC 3 dinamik, artık gerekli değildir aşağıda tekniği için doğrudan destek var artık. not (12/22/2011): Bu yazı MVC içine özelliği entegre sebep olmuştu aslında.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • John Lynn

    John Lynn

    8 Ocak 2010
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007
  • Stevie

    Stevie

    2 Mayıs 2010