簡體   English   中英

簡單的Windows Web窗體應用程序轉換為asp.net應用程序

[英]Simple Windows web form application to asp.net application

我在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)中執行相同操作時,遇到了一些麻煩:

  1. 當我單擊按鈕2時,一切都很好。 當我按一次按鈕1/3時,我在所有標簽中的日期都不正確(或當我什么也不按下時)

  2. 當我再按幾次該按鈕時,什么也沒發生-每次單擊按鈕都不會重新加載頁面(?),因此標簽不會改變。

有人能幫我嗎?

如果您剛剛在頁面級這樣聲明了變量“ NumberDay”,

int NumberDay; 

這就是為什么它不保持其值,因為NumberDay在每次回發后都會重置。 你可以像這樣使用ViewState來做

private void button1_Click(object sender, EventArgs e)                                              
{

    NumberDay = ViewState["VS_NumberDay"] != null ? Convert.ToInt32(ViewState["VS_NumberDay"]) : 0;
    NumberDay--;         

    if (NumberDay < 0) NumberDay = 6; 

    ViewState["VS_NumberDay"] = NumberDay;

    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;                             
    ViewState["VS_NumberDay"] = NumberDay;
    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 = ViewState["VS_NumberDay"] != null ? Convert.ToInt32(ViewState["VS_NumberDay"]) : 0;
    NumberDay++;         
    if (NumberDay > 6) NumberDay = 0; 

    ViewState["VS_NumberDay"] = NumberDay;

    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;
    }
}

暫無
暫無

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

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