从asp:textbox获取文本

时间:2012-06-08 11:54:18

标签: c# asp.net text 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?

4 个答案:

答案 0 :(得分:16)

protected void Page_Load(object sender, EventArgs e)
{
   if(!Page.IsPostBack)
    {
       textbox.text = "sometext";
    }
}

回发是在按钮点击时将文本框文本属性设置回"somevalue",您只需按上述设置值一次。

回发解释:

  

在ASP Web开发的上下文中,回发是另一个名称   HTTP POST。在交互式网页中,发送表单的内容   到服务器处理一些信息。之后,服务器   将新页面发回浏览器。

     

这样做是为了验证用于登录的密码,在线处理   订单,或客户端计算机无法执行的其他此类任务   它自己的。这不应与刷新或后退动作相混淆   通过浏览器上的按钮。

Source

阅读View State也有助于理解它们如何融合在一起。

答案 1 :(得分:2)

试试这个:

If (!IsPostBack) 
{   
textbox.text = "sometext";
} 

答案 2 :(得分:1)

实际上,页面加载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);
    }

答案 3 :(得分:1)

请在页面加载事件....

中检查Page PostBack