【发布时间】:2014-01-29 11:09:10
【问题描述】:
我有一个简单的 C# windows web 表单应用程序(用 Visual C# 2010 Express 设计)。
只有 3 个按钮和 3 个标签 - 当我单击按钮 2 时,我在 int 中有天数(从 0 到 6),然后我将此数字切换为标签中正确的日期名称。此外,当我单击按钮 1 或 3 时,我在所有标签中都有 +1 或 -1 天。
这是一个例子:
private void button1_Click(object sender, EventArgs e)
{
NumberDay--;
if (NumberDay < 0) NumberDay = 6;
switch (NumberDay)
{
case 0:
label1.Text = "Saturday";
label2.Text = "Sunday";
label3.Text = "Monday";
break;
case 1:
label1.Text = "Sunday";
label2.Text = "Monday";
label3.Text = "Tuesday";
break;
case 2:
label1.Text = " Monday";
label2.Text = "Tuesday";
label3.Text = "Wednesday";
break;
case 3:
label1.Text = "Tuesday";
label2.Text = "Wednesday";
label3.Text = "Thursday";
break;
case 4:
label1.Text = "Wednesday";
label2.Text = "Thursday";
label3.Text = "Friday";
break;
case 5:
label1.Text = "Thursday";
label2.Text = "Friday";
label3.Text = "Saturday";
break;
case 6:
label1.Text = "Friday";
label2.Text = "Saturday";
label3.Text = "Sunday";
break;
}
}
private void button2_Click(object sender, EventArgs e)
{
button1.Enabled = button3.Enabled = true;
DateTime today = DateTime.Now;
NumberDay = (int)today.DayOfWeek;
switch (NumerDnia)
{
case 0:
label1.Text = "Saturday";
label2.Text = "Sunday";
label3.Text = "Monday";
break;
case 1:
label1.Text = "Sunday";
label2.Text = "Monday";
label3.Text = "Tuesday";
break;
case 2:
label1.Text = " Monday";
label2.Text = "Tuesday";
label3.Text = "Wednesday";
break;
case 3:
label1.Text = "Tuesday";
label2.Text = "Wednesday";
label3.Text = "Thursday";
break;
case 4:
label1.Text = "Wednesday";
label2.Text = "Thursday";
label3.Text = "Friday";
break;
case 5:
label1.Text = "Thursday";
label2.Text = "Friday";
label3.Text = "Saturday";
break;
case 6:
label1.Text = "Friday";
label2.Text = "Saturday";
label3.Text = "Sunday";
break;
}
}
private void button3_Click(object sender, EventArgs e)
{
NumberDay++;
if (NumberDay > 6) NumberDay = 0;
switch (NumberDay)
{
case 0:
label1.Text = "Saturday";
label2.Text = "Sunday";
label3.Text = "Monday";
break;
case 1:
label1.Text = "Sunday";
label2.Text = "Monday";
label3.Text = "Tuesday";
break;
case 2:
label1.Text = " Monday";
label2.Text = "Tuesday";
label3.Text = "Wednesday";
break;
case 3:
label1.Text = "Tuesday";
label2.Text = "Wednesday";
label3.Text = "Thursday";
break;
case 4:
label1.Text = "Wednesday";
label2.Text = "Thursday";
label3.Text = "Friday";
break;
case 5:
label1.Text = "Thursday";
label2.Text = "Friday";
label3.Text = "Saturday";
break;
case 6:
label1.Text = "Friday";
label2.Text = "Saturday";
label3.Text = "Sunday";
break;
}
}
在普通的 C# 应用程序中一切正常。当我尝试在 asp.net(Visual Express 2012 for Veb)中做同样的事情时,我遇到了一些麻烦:
当我单击按钮 2 时,一切正常。当我按下按钮 1/3 ONCE 时,我在所有标签中都有错误的日期(或者当我按下时没有发生任何事情)
当我多次按下按钮时,没有任何反应 - 每次单击按钮时页面都没有重新加载 (?),标签没有改变。
有人可以帮助我吗?
【问题讨论】:
-
是 NumberDay 是页面级别的静态变量吗?
-
你是 Asp.net 的新手,所以首先谷歌 Asp.net 的基础知识。 Asp.net 和 Windows 应用程序在状态方面完全不同
-
@user2456849:请同时提供 ASPX 代码,以便我们为您提供帮助。
-
int NumberDay 在 protected void Page_Load 之前声明
-
在 asp.net 中的 NumberDay 在每个回帖中重置
标签: c# asp.net webforms label buttonclick