超级菜鸟问题,快来抢分!!

inseasoft 2005-03-21 04:25:56
刚学。net愚笨勿笑!

有个webform上面有几个textbox控件,在load事件中从数据库中读取了数据放到textbox中,没有用绑定直接赋值。发现当我在页面上修改了textbox的内容后,在按保存按钮时改textbox控件的值还是初始值并没有改变。何解???

付代码
private void Page_Load(object sender, System.EventArgs e)//初始
{
string sSQL = "select * from usertable where user_ID= '"+user_ID+"' order by user_ID";
SqlDataReader dr = DBTmp.GetDataList(sSQL);
if (dr.HasRows)
{
dr.Read();
TbID.Text = dr["user_ID"].ToString();
Tbname.Text = dr["username"].ToString();
TbPassowrd.Text = dr["password"].ToString();
rPassword.Text = dr["password"].ToString();
if (dr["usertype"].ToString()=="一般用户")
{
DLusertype.SelectedIndex=1;
}

if (dr["sflag"].ToString()=="False")
DLsflag.SelectedIndex=1;

Iuser_id.Value = user_ID ;

}
dr.Close();
DBTmp.Conn.Close();

}

//保存值
private void BtSave_Click(object sender, System.EventArgs e)
{
if (TbPassowrd.Text==rPassword.Text)
{

string sSQL="";
string msg;
if (Istutas.Value =="1") //修改
{
//此处Tbname.Text的值无论怎么改都是原赋值内容!!
sSQL = "update usertable set user_ID='"+TbID.Text+"',username='"+Tbname.Text
+"',password='"+TbPassowrd.Text+"' ,usertype='"+DLusertype.SelectedValue
+"',sflag="+DLsflag.SelectedValue+" where user_ID='"+Iuser_id.Value+"'" ;
msg ="修改成功!";
}
else
{
sSQL= "insert into usertable (user_ID,username,password,usertype,sflag) values ('"+TbID.Text
+"','"+Tbname.Text+"','"+TbPassowrd.Text+"','"+DLusertype.SelectedValue+"',"+DLsflag.SelectedValue+")";
msg ="新增完成!";
}


DBTmp.ExecuteSql(sSQL);
TbID.Text = "";
Tbname.Text = "";
TbPassowrd.Text ="";
rPassword.Text = "";

Response.Write("<script language=javascript>self.parent.location.href='userManager.aspx';alert('"+msg+"')</script>");

//Response.Redirect("LeftMess.aspx?Msg="+msg);
}
else
{
Lbmsg.Text = "对不起,两次输入的密码不一致!";
}

}
...全文
47 点赞 收藏 8
写回复
8 条回复
zyug 2005年03月21日
呵呵,我以前也常犯这种错误的
回复 点赞
inseasoft 2005年03月21日
谢谢各位,见笑了
回复 点赞
inseasoft 2005年03月21日
谢谢各位,见笑了
回复 点赞
inseasoft 2005年03月21日
谢谢!
回复 点赞
rachy 2005年03月21日
if(!IsPostBack)
{
//你以前在Page_Load中的代码
}

因为当页面提交继续执行代码的时候,又重新执行了你写在pageload中的代码
因此你所作的操作相当于没做。
而加上上面的判断条件,提交页面的时候不会执行里面的代码
回复 点赞
yezie 2005年03月21日
把page_load中
统统放到
if(!IsPostBack)
{

}

嘿嘿
回复 点赞
comefeel 2005年03月21日
up先
回复 点赞
zyug 2005年03月21日
把page_load中
统统用
if(!IsPostBack)
{
//你以前在Page_Load中的代码
}
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告