gpt4 book ai didi

c# - 按钮不起作用的 CountClick 方法

转载 作者:行者123 更新时间:2023-11-30 13:20:04 30 4
gpt4 key购买 nike

我的网页中有几个按钮,我试图通过使用 countClick 方法检查用户按下的点击次数来限制按钮点击。在我下面的代码中,当用户点击第一个按钮时,第二个按钮将自动为他们点击。如果他们选择第二个按钮,第三个按钮也会自动为他们点击,其余按钮依此类推。但是在我的例子中,他们只能点击一次,因为一次点击会导致点击 2 个按钮。所以,当他们点击一次时,我不能让他们点击第二次。

我的问题是我的 countClick 方法不起作用。当我运行我的页面时,可以选择我的所有按钮,并且不会限制用户只能单击 1 个按钮。

这是我的 .cs 代码:

protected void Button1_Click(object sender, EventArgs e)
{
Button1.Text = "Booked";
Button1.BackColor = System.Drawing.Color.Blue;
Button2.Text = "Booked";
Button2.BackColor = System.Drawing.Color.Blue;
countButtonClick();
}
protected void Button2_Click(object sender, EventArgs e)
{
Button2.Text = "Booked";
Button2.BackColor = System.Drawing.Color.Blue;
Button3.Text = "Booked";
Button3.BackColor = System.Drawing.Color.Blue;
countButtonClick();
}
protected void Button3_Click(object sender, EventArgs e)
{
Button3.Text = "Booked";
Button3.BackColor = System.Drawing.Color.Blue;
Button4.Text = "Booked";
Button4.BackColor = System.Drawing.Color.Blue;
countButtonClick();
}
protected void Button4_Click(object sender, EventArgs e)
{
Button4.Text = "Booked";
Button4.BackColor = System.Drawing.Color.Blue;
countButtonClick();
}

这是我在 .cs 中的 countClick 方法:

private void countButtonClick()
{
int counter = 0;
counter++;
if (counter >= 1)
{
Response.Write("You can only select 2 slots! " + DateTime.Now.ToString());
}
}

最佳答案

counter 存储为 session 变量。

因为您是在函数内部声明它,所以它对于函数调用的特定实例是唯一的。因此每次都重置为0。

private void countButtonClick()
{
int counter = 0;
if (!(Session["counter"])){
counter = (int)Session["counter"];
}
counter++;
Session["counter"] = counter;

if (counter >= 1)
{
Response.Write("You can only select 2 slots! " + DateTime.Now.ToString());
}
}

然后,我还会通过将以下内容添加到您的页面加载方法来确保在刷新时丢失 session 值:

if (!(Page.IsPostBack)){
Session["counter"] = null;
}

关于c# - 按钮不起作用的 CountClick 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11633242/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com