Frage

Was ist der beste Weg, mehrere EVAL-Felder in einem GridView ItemTemplate zu verwenden?

Ich möchte eine gewisse Kontrolle über die Formatierung für das Erscheinungsbild sowie das Einrichten von Hyperlinks/Javascript usw. haben.

War es hilfreich?

Lösung

Noch deutlicher, IMO, ist:

<%# String.Format("{0} - {1}", Eval("Name1"), Eval("Name2")) %>

Andere Tipps

Ich hatte vorher verwendet, um dieses (sehr schlecht, ich weiß):

<%# Eval("Name1", "{0} - ")%> <%#Eval("Name2")%>

Ergebnis = 'John - Smith'

Aber gerade entdeckt, dass ich auch zwei setzen kann (oder mehr) Evals in der gleichen Datengebundene Gruppe:

<%#Eval("Name1") & " - " & Eval("Name2")%>

Ergebnis = 'John - Smith'

oder

<%# "First Name - " & Eval("Name1") & ", Last Name - " & Eval("Name2")%>  

Ergebnis = 'Vorname - John, Nachname - Smith'

Evaluierungs- und binden beide saugen.
Warum die Eigenschaft durch Reflexion bekommen? Sie können es direkt zugreifen wie folgt aus:

((MyObject)Container.DataItem).MyProperty

Es ist nicht wie das Objekt Ihnen zur Laufzeit nicht bekannt ist. Das ist meine zwei Cent, sowieso.

Ich habe einen einfachste Weg, diese gleiche Sache zu tun ...

<asp:Label ID="lblName" runat="server" Text='<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>'></asp:Label>

.

<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>

Hier werden beide Objekte in String konvertiert die sie verketten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top