<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                        onrowdeleting="GridView1_RowDeleting" Width="807px" 
                        onrowcreated="GridView1_RowCreated">
                        <Columns>
                            <asp:BoundField DataField="company" HeaderText="公司" ReadOnly="True" 
                                SortExpression="company" />
                            <asp:BoundField DataField="location" HeaderText="地点" ReadOnly="True" 
                                SortExpression="location" />
                            <asp:BoundField DataField="price" HeaderText="价格" ReadOnly="True" 
                                SortExpression="price" />
                            <asp:TemplateField>
                            <HeaderTemplate>
                                图片&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                编号
                            </HeaderTemplate>
                                <ItemTemplate>
                                    <asp:Image runat="server" id="image" ImageUrl='<%# Eval("image") %>' Width="20px"  Height="20px"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                    <asp:TextBox runat="server" id="tb" Width="20px" abc='<%# Eval("id") %>' Text='<%# Eval("tag") %>'> </asp:TextBox>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
                        </Columns>
                    </asp:GridView>我根据所选行的id='<%# Eval("id") %>' 值 删除数据库数据! 应该如何,做, 有没有更好的方法

解决方案 »

  1.   

    你在<asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
    这个控件的单击事件中获取上面你说的该行的记录id,然后拼成sql语句,执行删除,即可,。
      

  2.   

    参见
    http://dotnet.aspx.cc/file/Add-Delete-Update-Edit-Data-With-Paging-in-GridView.aspx
      

  3.   

    获取不到呀! 说未将对象应用到实例。 代码eg:
      protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
          string id=((TextBox)(this.GridView1.SelectedRow.FindControl("tb"))).Attributes["abc"];
        }
      

  4.   

     添加模板列,放linkbutton,然后给绑定id ,,双击进去,,写代码
      

  5.   

    添加模板列(asp:ButtonField),
      

  6.   

    哈哈 我会了,
    (textbox)(gridview1.rows[e.rowindex].findcontrol("tb")).attributs["abc"]
      

  7.   

    (textbox)(gridview1.rows[e.rowindex].findcontrol("tb")).attributs["abc"]
    注意大小写。(textbox)(gridview1.rows[e.rowindex].findcontrol("tb"))你也可以取这个控件的Text