簡體   English   中英

文本框不清楚

[英]Textbox doesn't clear

我用我的texbox填充:

foreach (User u in userInfo)
{
    txtNickname.Text = u.Nickname;
    txtFirstName.Text = u.FirstName;
    txtLastName.Text = u.LastName;
    txtEmail.Text = u.Email;
}

我的文本框現在填充了數據庫中的數據。

例如,我在所有texbox中填充新值,然后單擊按鈕,而不是這樣:

if (txtNickname.Text != String.Empty && txtFirstName.Text != String.Empty && txtLastName.Text != String.Empty && txtEmail.Text != String.Empty)
{
   //TODO
}

但是當我調試時:文本框的值是舊值(來自foreach循環的值),而不是我在文本框中填充的新值。

為什么會這樣? 我正在從文本框中的數據庫加載一些數據,之后我自己更改了文本框的值,當我調試文本框時,值仍然是數據庫值(請參閱foreach-loop)。

如果第一個循環在Page_Load事件中執行,那么您應該確保在單擊按鈕后回顯頁面時不再執行。

有關MSDN上Page.IsPostBack的更多信息

private void Page_Load()
{
    if (!IsPostBack)
    {
        // This code should be executed only when the page is being 
        // rendered for the first time not when is responding to a postback 
        // raised by the <runat="server">  controls
        UserInfoCollection userInfo = GetUserInfoCollection();

        foreach (User u in userInfo)
        {
            txtNickname.Text = u.Nickname;
            txtFirstName.Text = u.FirstName;
            txtLastName.Text = u.LastName;
            txtEmail.Text = u.Email;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM