1.DataGrid 批量更新 在html的form中设置如下的DataGrid <asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 32px" runat="server" Width="912px" Height="136px" AutoGenerateColumns="False"> <Columns> <asp:TemplateColumn HeaderText="ID"> <ItemTemplate> <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.id") %>'> </asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="用户名"> <ItemTemplate> <asp:TextBox id=TextBox1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.uname") %>'> </asp:TextBox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="性别"> <ItemTemplate> <asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.sex") %>' ID="Textbox2"> </asp:TextBox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="年龄"> <ItemTemplate> <asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.age") %>' ID="Textbox3"> </asp:TextBox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="电话"> <ItemTemplate> <asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.tel") %>' ID="Textbox4"> </asp:TextBox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="地址"> <ItemTemplate> <asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.addr") %>' ID="Textbox5"> </asp:TextBox> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 80px; POSITION: absolute; TOP: 232px" runat="server" Text="批量更新"></asp:Button> 在cs文件中写如下代码 private void Page_Load(object sender, System.EventArgs e) ...{ // 在此处放置用户代码以初始化页面 if(!this.IsPostBack) ...{ this.Bind(); } } public void Bind() ...{ try ...{ SqlDataAdapter da=new SqlDataAdapter("select * from userinfo",conn); DataSet ds=new DataSet(); da.Fill(ds,"gg"); this.DataGrid1.DataSource=ds; this.DataGrid1.DataBind(); } catch(Exception Err) ...{ throw Err; } finally ...{ } } Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) ...{ // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /**//// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() ...{ this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) ...{ int k=0; for(int i=0;i<this.DataGrid1.Items.Count;i++) ...{ int id=int.Parse(((Label)DataGrid1.Items[i].FindControl("Label1")).Text); string username=((TextBox)DataGrid1.Items[i].FindControl("TextBox1")).Text; string sex=((TextBox)DataGrid1.Items[i].FindControl("TextBox2")).Text; int age=int.Parse(((TextBox)DataGrid1.Items[i].FindControl("TextBox3")).Text); string tel=((TextBox)DataGrid1.Items[i].FindControl("TextBox4")).Text; string addr=((TextBox)DataGrid1.Items[i].FindControl("TextBox5")).Text; string sql="update userinfo set uname='"+username+"',sex='"+sex+"',age="+age+",tel='"+tel+"',addr='"+addr+"' where id="+id+""; SqlCommand cmd=new SqlCommand(sql,conn); if(conn.State==ConnectionState.Closed) ...{ conn.Open(); } k=cmd.ExecuteNonQuery(); } if(k>0) ...{ Page.RegisterStartupScript("","<script>alert('更新成功!');</script>"); } } 2.GridView 批量更新 在html的form中设置如下的GridView <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="873px"> <Columns> <asp:TemplateField HeaderText="ID"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("id") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="用户名"> <ItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("uname") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="性别"> <ItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("sex") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="年龄"> <ItemTemplate> <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("age") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="电话"> <ItemTemplate> <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("tel") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="地址"> <ItemTemplate> <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("addr") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> <asp:Button ID="Button1" runat="server" Text="批量更新" OnClick="Button1_Click" /> 在cs文件中写如下代码 SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conn"]); protected void Page_Load(object sender, EventArgs e) ...{ if (!this.IsPostBack) ...{ this.Bind(); } } private void Bind() ...{ try ...{ SqlDataAdapter da = new SqlDataAdapter("select * from userinfo",conn); DataSet ds = new DataSet(); da.Fill(ds, "ff"); this.GridView1.DataSource = ds; this.GridView1.DataBind(); } catch (Exception Err) ...{ throw Err; } finally ...{ } } protected void Button1_Click(object sender, EventArgs e) ...{ int k = 0; foreach (GridViewRow gv in GridView1.Rows) ...{ int id = int.Parse(((Label)gv.FindControl("Label1")).Text); string username = ((TextBox)gv.FindControl("TextBox2")).Text; string sex = ((TextBox)gv.FindControl("TextBox3")).Text; int age = int.Parse(((TextBox)gv.FindControl("TextBox4")).Text); string tel = ((TextBox)gv.FindControl("TextBox5")).Text; string addr = ((TextBox)gv.FindControl("TextBox6")).Text; string sql = "update userinfo set uname='" + username + "',sex='" + sex + "',age=" + age + ",tel='" + tel + "',addr='" + addr + "' where id=" + id + ""; SqlCommand cmd = new SqlCommand(sql, conn); if (conn.State == ConnectionState.Closed) ...{ conn.Open(); } k = cmd.ExecuteNonQuery(); } if (k > 0) ...{ Page.RegisterStartupScript("", "<script>alert('更新成功!');</script>"); } }