2016-05-28 61 views
2

Visual Studio上的簡單網站應用程序。我在設計中做了一個按鈕。我希望每次點擊它都會改變,但它只會改變一次。有人可以幫我解決嗎?這是代碼。如何記住C#web應用程序中按鈕的狀態?

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    bool click = false; 
    protected void button_Click(object sender, EventArgs e) 
    {  
     click = !click; 
     if (click == true) 
      butt.Text = "you clicked me!"; 
     else 
      button.Text = "Click me again!"; 

    } 
} 

它變成了"you clicked me!",之後沒有變化。

回答

2

對服務器的每個請求都是一個新請求。頁面會在每次到服務器的請求中重新實例化,因此您的變量始終會初始化爲false

你應該保留在客戶端。您可以使用ViewState來實現此目的asp.net

protected void button_Click(object sender, EventArgs e) 
{ 
    if (ViewState.Contains("click") && ViewState["click"] == false) 
    { 
     ViewState["click"] = true; 
     butt.Text = "you clicked me!"; 
    } 
    else 
    { 
     ViewState["click"] = false; 
     button.Text = "Click me again!"; 
    } 
} 
相關問題