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

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • campos9896

    campos9896

    24 Mart 2012
  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008