我在C#编写ASP.NET项目。
该UpdateUserInfo.aspx页面由文本框和按钮。 在页面加载()方法我设置一些文本到文本框和按钮时cicked我得到的文本框的新值,并将其写入到数据库。
问题是,即使我已经改变文本框textbox.Text的值()方法返回文本框的旧值(“SomeText”则会),并写入到DB这一点。
此处的方法:
protected void Page_Load(object sender, EventArgs e)
{
textbox.text = "sometext";
}
void Btn_Click(Object sender,EventArgs e)
{
String textbox_text = textbox.text();// this is still equals "somevalue", even I change the textbox value
writeToDB(textbox_text);
}
那么,如何使文本框与someValue中初步显现,但是当用户更改该值的getText方法返回新的当前值,并写入数据库呢?
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
textbox.text = "sometext";
}
}
回发是设置textboxs文本属性回到"somevalue"
上按一下按钮,你要设置的值只有一次如上。
回发解释说:
在ASP网站发展的背景下,回发是HTTP POST的另一个名字。 在一个交互式网页,表格的内容发送给服务器进行处理的一些信息。 然后,服务器会发送一个新的页面返回给浏览器。
这样做是为了验证密码登录,过程的在线订单,或其他这样的任务,一个客户端计算机无法对自己做的。 这不是与刷新或者浏览器上的按钮,收回的行动相混淆。
资源
在阅读了视图状态也将了解它如何组合在一起的帮助。
尝试这个:
If (!IsPostBack)
{
textbox.text = "sometext";
}
其实网页加载textbox
重新initilized
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
textbox.text = "sometext";
}
}
void Btn_Click(Object sender,EventArgs e)
{
String textbox_text = textbox.text;
writeToDB(textbox_text);
}