asp.net问题。。gridview中要实现编辑更新。我的数据操作是在数据访问层操作。为什么点更新后,更新的是0
我的具体问题是这样的:当我点更新时会在相应行出现txtboxt并有原值,当我不改任何字段时,直接点更新,最后一个字段就被更新为0,再点一次倒数第二个也变成0了,以此类推,...
我的具体问题是这样的:当我点更新时会在相应行出现txtboxt并有原值,当我不改任何字段时,直接点更新,最后一个字段就被更新为0,再点一次倒数第二个也变成0了,以此类推,有数据更改时点更新该字段也变成0。在更新事件中我应该写什么代码?我已经写了若干代码,可能不完整。出现这种问题是什么原因?
sql语句应该没错。我一步一步跟踪到了Update语句就有错,传过来的值是0.ID也没错。就是获取Textbox没有获取到。应该如何获取呢?我的更新事件代码是这样写的:
protected void Gv_user_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string RowToUpdata = Gv_user.DataKeys[e.RowIndex].Value.ToString();
int ID = Convert.ToInt32(RowToUpdata);
UserInfo obj = new UserInfo();
obj.LoginName = ((TextBox)(Gv_user.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
obj.PassWord = ((TextBox)(Gv_user.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
obj.UserName = ((TextBox)(Gv_user.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
obj.ID = ID;
NewsMgr.BLL.User.UpdateUser(obj);
Gv_user.EditIndex = -1;
BindPage();
} 展开
sql语句应该没错。我一步一步跟踪到了Update语句就有错,传过来的值是0.ID也没错。就是获取Textbox没有获取到。应该如何获取呢?我的更新事件代码是这样写的:
protected void Gv_user_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string RowToUpdata = Gv_user.DataKeys[e.RowIndex].Value.ToString();
int ID = Convert.ToInt32(RowToUpdata);
UserInfo obj = new UserInfo();
obj.LoginName = ((TextBox)(Gv_user.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
obj.PassWord = ((TextBox)(Gv_user.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
obj.UserName = ((TextBox)(Gv_user.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
obj.ID = ID;
NewsMgr.BLL.User.UpdateUser(obj);
Gv_user.EditIndex = -1;
BindPage();
} 展开
2个回答
展开全部
没看过你写的代码,你看看更新的sql语句是不是有问题,仔细调试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是我写的一个例子,你看下对你有没有帮助。。。
//更新
protected void gv_user_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow gvr = gv_user.Rows[e.RowIndex];
//获取用户名
string uname = ((TextBox)gvr.Cells[0].FindControl("txt_uname")).Text;
//获取用户密码
string upwd = ((TextBox)gvr.Cells[1].FindControl("txt_upwd")).Text;
int id = Convert.ToInt32(gv_user.DataKeys[e.RowIndex].Value.ToString());
if (bll.UpdateUserByUid(uname,upwd,id))
{
gv_user.EditIndex = -1;
Bind();
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "msg", "<script>alert('修改用户信息失败!')</script>");
}
}
//更新
protected void gv_user_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow gvr = gv_user.Rows[e.RowIndex];
//获取用户名
string uname = ((TextBox)gvr.Cells[0].FindControl("txt_uname")).Text;
//获取用户密码
string upwd = ((TextBox)gvr.Cells[1].FindControl("txt_upwd")).Text;
int id = Convert.ToInt32(gv_user.DataKeys[e.RowIndex].Value.ToString());
if (bll.UpdateUserByUid(uname,upwd,id))
{
gv_user.EditIndex = -1;
Bind();
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "msg", "<script>alert('修改用户信息失败!')</script>");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询