SORU
25 ŞUBAT 2011, Cuma


Jilet dinamik Anonim tür RuntimeBinderException neden olur

Aşağıdaki hatayı alıyorum:

< . p ^'' için bir tanım içermiyor'' . RatingName nesne

Anonim dinamik türü baktığınızda, açıkça RatingName var.

Screenshot of Error

Bir Demet ile bunu yapabileceğimi biliyorum, ama hata iletisi oluşur neden anlamak istiyorum.

CEVAP
14 NİSAN 2011, PERŞEMBE


Anonim türleri iç özellikleri olan bir zavallı .NET çerçeve tasarım kararı, benim görüşüme göre.

Burada bir hızlıiyi eğlencelerbu sorun, yani anonim dönüştürerek düzeltmek için bir ExpandoObject hemen nesne.

public static ExpandoObject ToExpando(this object anonymousObject)
{
    IDictionary<string, object> anonymousDictionary =  new RouteValueDictionary(anonymousObject);
    IDictionary<string, object> expando = new ExpandoObject();
    foreach (var item in anonymousDictionary)
        expando.Add(item);
    return (ExpandoObject)expando;
}

Çokkolaykullanmak için:

return View("ViewName", someLinq.Select(new { x=1, y=2}.ToExpando());

Sizin bakış: elbette

@foreach (var item in Model) {
     <div>x = @item.x, y = @item.y</div>
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008
  • Subscribe!!

    Subscribe!!

    3 EKİM 2009