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

  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • Joe DiFeo

    Joe DiFeo

    7 AĞUSTOS 2012
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006