Hallo,
ich versuche in der Methode, wenn ich beim Datensatz (GridView) auf bearbeiten klicke, GridView1_RowEditing(object sender, GridViewEditEventArgs e) eine "ID" Zelle auszulesen.
Dieser Code funktioniert nicht:

Ich habe mir schon geholfen und diesen Weg genommen, das ist die Lösung für mich:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string myID = "";
if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowIndex == GridView1.EditIndex)
{
TextBox t1 = e.Row.FindControl("myID") as TextBox;
if (t1 != null)
{
myID = t1.Text;
}
}
}
<asp:GridView ID="GridView1" runat="server"
DataKeyNames="ID"
OnRowCancelingEdit="GridView1_RowCancelingEdit"
OnRowDeleting="GridView1_RowDeleting"
OnRowEditing="GridView1_RowEditing"
OnRowUpdating="GridView1_RowUpdating"
AutoGenerateColumns="False"
EnableModelValidation="True"
CellPadding="4"
ForeColor="#333333"
Width="791px"
PageSize="2"
OnPreRender="GridView1_PreRender"
OnRowDataBound="GridView1_RowDataBound">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="true" />
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<%#Eval("ID") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="myID" Text='<%#Eval("ID") %>' />
</EditItemTemplate>
</asp:TemplateField>
Kann mir bitte wer den Unterschied erklären, warum ich die Objektinstanz in der Methode GridView1_RowEditing nicht habe?
Oder hat das was mit der Laufzeit zu tun?
Danke
Grüße Danijel