从asp:textbox获取文本
我在C#中编写ASP.NET项目。
UpdateUserInfo.aspx页面包含文本框和按钮。 在pageLoad()方法中,我将一些文本设置到文本框中,当按钮被cicked时,我得到textbox的新值并将其写入DB。
问题是即使我更改了textbox textbox的值.Text()方法返回textbox的旧值(“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); }
那么,如何使文本框最初以某些值出现,但是当用户更改此值时,getText方法返回新更改的值并将其写入DB?
protected void Page_Load(object sender, EventArgs e) { if(!Page.IsPostBack) { textbox.text = "sometext"; } }
回发是在按钮单击时将文本框文本属性设置回"somevalue"
,您将只想如上所述设置值一次。
回发说明:
在ASP Web开发的上下文中,回发是HTTP POST的另一个名称。 在交互式网页中,表单的内容被发送到服务器以处理某些信息。 然后,服务器将新页面发送回浏览器。
这样做是为了validation用于登录的密码,处理在线订单表格或客户端计算机不能独立完成的其他此类任务。 这不应与浏览器上的按钮所采取的刷新或后退操作相混淆。
资源
阅读View State也有助于理解它们如何组合在一起。
试试这个:
If (!IsPostBack) { textbox.text = "sometext"; }
请在页面加载事件中检查Page PostBack ….
实际上在页面加载textbox
重新启动
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); }