Ich erstelle eine Listview und verbinde Daten aus der Datenbank.Zugriffswerte von Listview auf Code hinter
<asp:ListView runat="server" ID="lstService" DataTextField="Name"
DataValueField="Id" AutoPostBack="True">
<LayoutTemplate>
<table runat="server" id="table1">
<tr runat="server" id="itemPlaceholder"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td runat="server">
<asp:Label ID="NameLabel" runat="server"
Text='<%#Eval("Name") %>' Width="500px" Height="30px" />
<asp:Button CssClass="btn btn-default" ID="srvButton" runat="server"
Text="Add" OnClick="srvButton_Click" />
<div class="voffset3"></div>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
Auf Code hinter verbinde ich Daten zu diesem Feld. Ich hole ID, Name Spalte.
Jetzt zeigt es Label und Schaltfläche mit Text "Hinzufügen" auf der Schaltfläche. Aber wenn ich auf Hinzufügen klicke, möchte ich den Wert von "Id" übergeben, der diesem Listenansichtselement zugeordnet ist. Wie kann ich das tun?
protected void srvButton_Click(object sender, EventArgs e)
{
}
Dank gibt es ein So kann ich den Text = "Hinzufügen" oder "Entfernen" im Backend binden, ich möchte nicht standardmäßig als Text hinzufügen zuweisen. –
Natürlich. Sie möchten Ihrer ListView einen ItemDataBound-Handler hinzufügen, und im Handler können Sie den Items die Text-Eigenschaft basierend auf Ihren Anforderungen zuweisen. Siehe hier: https://stackoverflow.com/questions/1588500/get-data-value-from-listview-itemdatound – mjw