Äquivalent von Eval ("Feld") in ASP.NET Repeater ItemDataBound-Ereignis?

8

Ich möchte das Äquivalent von Eval ("field") in einem ASP.NET Repeater ItemDataBound Event machen, bin mir aber nicht sicher, wie ich e.Item.DataItem umsetzen soll. Der Datenquellentyp kann variieren, da dies wiederverwendbarer Code in einem benutzerdefinierten Steuerelement ist. Wie kann ich auf ein Feld in e.Item.DataItem nach Feldname (eine Zeichenfolge) zugreifen?

Idealerweise möchte ich Folgendes tun:

%Vor%     
John 14.06.2011, 00:45
quelle

2 Antworten

8

Wenn Sie nicht wissen, was der Typ zum Zeitpunkt der Kompilierung ist, ist Ihre einzige Option das Behandeln als ein Objekt (das ist der Standardrückgabetyp für das DataItem Eigenschaft).

Sie könnten versuchen mit:

%Vor%

Sie sind immer noch mit einem Objekt am Ende dieses Aufrufs beschäftigt, aber (vorausgesetzt, der Aufruf ist erfolgreich), wissen Sie, dass item eine Eigenschaft namens fieldname hat. Ich weiß nicht, ob das hilft. Vielleicht aktualisieren Sie Ihre Frage mit mehr Details über das, was Sie versuchen zu tun.

    
dariom 14.06.2011, 00:59
quelle
0

anstelle von xxx item = (xxx)e.Item.DataItem;

schreibe es:

%Vor%

oder kann sein:

%Vor%     
Amr Elgarhy 14.06.2011 00:50
quelle

Tags und Links