none
GridView1_RowEditing Get Cell Value RRS feed

  • Frage

  • 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

    Dienstag, 7. März 2017 14:59