我已经绑定了数据源并且已经正确显示了,然后我在它的RowEditing中键入了如下代码
GridView1.EditIndex = e.NewEditIndex;
getdata();//这是我的数据绑定方法在RowUpdating事件中键入了如下代码
name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
Response.Write(name);
可是取到的值是先前原来的,但是我想这样取的应该是当前编辑的吧。
GridView1.EditIndex = e.NewEditIndex;
getdata();//这是我的数据绑定方法在RowUpdating事件中键入了如下代码
name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
Response.Write(name);
可是取到的值是先前原来的,但是我想这样取的应该是当前编辑的吧。
解决方案 »
- XML删除节点不更新
- C# B/S架构 请教:如何限制上传图片大小
- 在VS机http://localhost:4256/里可以正常上传文件,在IIS即http://localhost/里提示“无法访问已关闭的文件”
- ASP.NET 交流
- Repeater 如何绑定一个string[]?
- 很神奇的问题,不能往项目里面添加“用户控件”!!
- 初学水晶报表,迷茫中,,急求各位指点,路过的进来帮下么
- 怎样让vs2003web编辑器不默认产生<FONT face="宋体"></FONT>这样的垃圾?
- 如何使用Web服务?
- 请问,如果不安装visual studio.net
- 用什么方法清除 SELECT 语句导入内存中的大量数据?
- 关于一个小的效果实现问题
if (!Page.IsPostBack)
{}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}
/// <summary>
/// 在单击 GridView 控件内某一行的 Update 按钮(其 CommandName 属性设置为"Update"的按钮)时发生,但在 GridView 控件更新记录之前。此事件通常用于取消更新操作。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string ID = GridView1.DataKeys[e.RowIndex].Value.ToString();
string Emp_ID = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim();
string Emp_RealName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
string Emp_Sex = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
string Emp_Address = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
string sqlStr = "update Employee set EmpID='" + Emp_ID + "',EmpRealName='" + Emp_RealName + "',EmpSex='" + Emp_Sex + "',EmpAddress='" + Emp_Address + "' where ID=" + ID + "";
Common.ExecuteSql(sqlStr);
GridView1.EditIndex = -1;
bind();
}
/// <summary>
/// 在单击 GridView 控件内某一行的 Edit 按钮(其 CommandName 属性设置为“Edit”的按钮)时发生,但在 GridView 控件进入编辑模式之前。此事件通常用于取消编辑操作。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}
/// <summary>
/// 在单击 GridView 控件内某一行的 Cancel 按钮(其 CommandName 属性设置为“Cancel”的按钮)时发生,但在 GridView 控件退出编辑模式之前。此事件通常用于停止取消操作。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
bind();
}
/// <summary>
/// 数据绑定
/// </summary>
public void bind()
{
string sqlStr = "select * from Employee";
DataSet myds = Common.dataSet(sqlStr);
GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { "ID" };
GridView1.DataBind();
}
当然。这是asp.net生命周期。每一次请求服务器处理,包括回发的时候,服务器都要创建页面对象。然后处理page_load、各种事件,最后Render输出html,然后就销毁页面对象。在一瞬间Page就产生、然后销毁了。