2016-05-28 63 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!"; 
    } 
} 
相关问题