在编辑配置文件页面提交表单时,文本框值保持不变
本文关键字:文本 配置文件 编辑 表单 提交 | 更新日期: 2023-09-27 17:49:33
我试图创建一个编辑配置文件页面,所以当页面加载时,我填充所有文本框的值为当前在数据库中为特定用户的值。我使用以下代码:
DBconn obj1 = new DBconn();
String sql1 = "select* from users where user_id='" + Session["user_id"].ToString() + "'";
DataTable dt = new DataTable();
dt = obj1.getdatatable(sql1);
if (dt.Rows.Count > 0)
{
referal_id.Text = dt.Rows[0]["referal_id"].ToString();
name.Text = dt.Rows[0]["name"].ToString();
password.Text = dt.Rows[0]["password"].ToString();
email.Text = dt.Rows[0]["email"].ToString();
mobile.Text = dt.Rows[0]["mobile"].ToString();
city.Text = dt.Rows[0]["city"].ToString();
state.Text = dt.Rows[0]["state"].ToString();
pincode.Text = dt.Rows[0]["pincode"].ToString();
sec_ques.Text = dt.Rows[0]["securityq"].ToString();
answer.Text = dt.Rows[0]["answerswer"].ToString();
age.Text = dt.Rows[0]["age"].ToString();
gender.Text = dt.Rows[0]["gender"].ToString();
user_id.Text = dt.Rows[0]["user_id"].ToString();
address.Text = dt.Rows[0]["address"].ToString();
date_of_joining.Text = dt.Rows[0]["date_of_joining"].ToString();
user_type.Text = dt.Rows[0]["user_type"].ToString();
}
现在用值填充所有的文本框。当用户编辑某些文本框中的某些值并重新提交表单时,数据库正在更新,实现代码:
protected void LinkButton1_Click(object sender, EventArgs e)
{
int i;
DBconn obj2 = new DBconn();
String sql2 = "update users set name='"+name.Text+"',address='"+address.Text+"',age='"+age.Text+"',gender='"+gender.Text+"',email='"+email.Text+"',mobile='"+mobile.Text+"',securityq='"+sec_ques.Text+"',answer='"+answer.Text+"',city='"+city.Text+"',state='"+state.Text+"',pincode='"+pincode.Text+"' where user_id='"+Session["user_id"].ToString()+"'";
i = obj2.executeDML(sql2);
if (i > 0)
{
Label1.Visible = true;
Image2.Visible = true;
Label1.Text = "Updated successfully!";
}
else
{
Label1.Visible = true;
Label1.Text = "Oops Update was unsuccessfull!";
}
}
问题是数据库正在更新数据库中已经存在的先前值。当我使用观察点时,我发现SQL语句加载了我使用上述数据库代码绑定的文本框值,但它没有获取用户编辑的值。
请帮助。
嘿,Robin,请检查代码是否放置在!IsPostback
条件下
请绑定if循环下的值。
if(!IsPostback)
{
// Bind values
}
这些值只能在第一次加载页面时绑定。
在你的例子中,似乎文本框的值在每次加载时都被绑定(即使在回发中也加载了值)
因此,在页面加载时必须检查页面是否回发。
因此,在绑定页面加载值时添加此条件。
if(!IsPostback)
首先检查调用绑定值的方法的位置…
把它放在
<引用类>Page.isPostback
所以它在发布时不会改变值然后当你保存它时值会改变
当你点击按钮和页面再次加载时,值必须改变。
引用类>