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

  • DorkmanScott

    DorkmanScott

    14 NİSAN 2006
  • John Lynn

    John Lynn

    8 Ocak 2010
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008