“步步精心”——三层架构下GridView控件实现增删改查
第一步:建立三层,并添加他们之间的引用关系,如下图所示:
第二步:添加GridView表格,并且套用格式样式,如下图所示:
第三步:点击表格右侧的小三角,并选中编辑列,如下图所示:
第四步:添加三个绑定列,并为其绑定上数据,如下图所示:
并且修改命令列的名称为“管理”,做好之后如下图所示:
下面是源代码的整体架构
接下来是所有的源代码:
DiaryModels层的Users
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using DiaryModels;using DiaryBLL;public partial class _Default : System.Web.UI.Page{ UserManager usermgr = new UserManager(); Users user = new Users(); //为表格绑定数据源 private void Bind() { GridView1.DataSource = usermgr.Select(); GridView1.DataBind(); } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Bind(); } } //添加用户信息 protected void btnOk_Click(object sender, EventArgs e) { user.UserID = Convert.ToInt16( txtUserID.Text); user.UserName = txtUserName.Text; user.password = txtPassword.Text; if (usermgr.Add(user)) { Response.Write("<script>('添加成功!')</script>"); Bind(); } else { Response.Write("<script>('添加失败!')</script>"); } } protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { user.UserID = Convert.ToInt16(((GridView1.Rows[e.RowIndex].FindControl("Label1") as Label).Text)); if (usermgr.Delete(user)) { Response.Write("<script>('删除成功!')</script>"); Bind(); } else { Response.Write("<script>('删除失败!')</script>"); } }//让当前行处于修改状态 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; Bind(); } //取消编辑 protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; Bind(); } //更新至数据库 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { user.UserID = Convert.ToInt16((GridView1.Rows[e.RowIndex].FindControl("Label1")as Label).Text); user.UserName = (GridView1.Rows[e.RowIndex].FindControl("TextBox2") as TextBox).Text; user.password = (GridView1.Rows[e.RowIndex].FindControl("TextBox3") as TextBox).Text; if (usermgr.Modify(user)) { Response.Write("<script>('修改成功!')</script>"); GridView1.EditIndex = -1; Bind(); } else { Response.Write("<script>('修改失败!')</script>"); } }}