前台代码<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 "> <title></title> </head> <body> <form id="form1" runat="server"> <h1 style=" text-align:center" mce_style=" text-align:center">编辑Gridview</h1> <asp:GridView ID="grid" runat="server" AutoGenerateColumns="False" Width=100% Height=100% onrowcreated="grid_RowCreated" onrowdeleting="grid_RowDeleting" DataKeyNames="id" onrowcancelingedit="grid_RowCancelingEdit" onrowediting="grid_RowEditing" onrowupdating="grid_RowUpdating"> <Columns> <asp:BoundField DataField="id" /> <asp:BoundField DataField="name" HeaderText="姓名" /> <asp:BoundField DataField="address" HeaderText="地址"/> <asp:BoundField DataField="age" HeaderText="年龄"/> <asp:BoundField DataField="country" HeaderText="国家"/> <asp:TemplateField HeaderText="删除" ShowHeader="False"> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete" Text="删除" OnClientClick="javascript:return confirm('确认要删除吗?');" ></asp:LinkButton> </ItemTemplate> </asp:TemplateField> <asp:CommandField ShowEditButton="True" DeleteText="编辑" HeaderText="编辑"/> </Columns> </asp:GridView> </form> </body> </html> 后台代码 public partial class GridView_Default : System.Web.UI.Page { private DataAccess da = SingleTon<DataAccess>.Instance; protected void Page_Load(object sender, EventArgs e) { if (!this.Page.IsPostBack) { BindGridView(); } } private void BindGridView() { DataTable dt=da.GetTable("select t.* from userinfo t "); grid.DataSource = dt; grid.DataBind(); } protected void grid_RowDeleting(object sender, GridViewDeleteEventArgs e) { string id= grid.Rows[e.RowIndex].Cells[0].Text; string iid = grid.DataKeys[e.RowIndex].Value.ToString(); string msg=string.Empty; if (da.ExcuteSql("delete from userinfo where id='"+id+"'", out msg)) { BindGridView(); } //删除操作,重新绑定 } /// <summary> ///设置visiable=false 获取隐藏列值,或用DataKeys /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void grid_RowCreated(object sender, GridViewRowEventArgs e) { e.Row.Cells[0].Visible = false; } protected void grid_RowUpdating(object sender, GridViewUpdateEventArgs e) { string name=(grid.Rows[e.RowIndex].Cells[1].Controls[0] as TextBox).Text; string addr = (grid.Rows[e.RowIndex].Cells[2].Controls[0] as TextBox).Text; string age = (grid.Rows[e.RowIndex].Cells[3].Controls[0] as TextBox).Text; string country = (grid.Rows[e.RowIndex].Cells[4].Controls[0] as TextBox).Text; string id = grid.DataKeys[e.RowIndex].Value.ToString(); string msg = string.Empty; if (da.ExcuteSql("update userinfo set name='"+name+"' ,address=N'"+addr+"' ,age='"+age+"' , country='"+country+"' where id='" + id + "'", out msg)) { grid.EditIndex = -1; BindGridView(); } } protected void grid_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { grid.EditIndex = -1; BindGridView(); } protected void grid_RowEditing(object sender, GridViewEditEventArgs e) { grid.EditIndex = e.NewEditIndex; BindGridView(); }