2017-02-28 90 views
0

下面是我的代碼,即時通訊有一個hardtime打印在所需的文本框中。一旦我選擇了一個複選框,它會打印出我想要的所需消息,但是一旦我選擇了2複選框,它就會打印出兩條消息並且對我來說是一個錯誤。我想要的是當我選擇(A)複選框時,它將顯示(A)消息,並且當我選擇(A)和(B)時,它將單獨顯示(A)和(B)消息,但是發生在我代碼是當我選擇(A)和(B)複選框時,它將首先顯示(A)消息,然後顯示組合的(A)和(B)消息。複選框列表打印錯誤

protected void PetitionCheckBoxList_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string message = ""; 
    for (int i = 0; i < PetitionCheckBoxList.Items.Count; i++) 
    { 
     if (PetitionCheckBoxList.Items[i].Selected) 
     { 
      message = message + GetDescriptionMessage(PetitionTypeLB.Text.Trim(), "DescriptionMessage", PetitionCheckBoxList.Items[i].Text); 
     }//if 
    }//for 
    DocsMissingTB.Text += Environment.NewLine + Environment.NewLine + message; 
} 

BTW the GetDescriptionMessage();方法,它從選定的請願複選框列表的數據庫中獲得描述 消息。

+0

這是因爲每次檢查_checkbox_。 –

+0

但那就是我想要的,我想打印一個消息,每當checkboxlist中的複選框被選中。 @RahulSingh – Ping

+0

這就是你的代碼中發生的事情:當你檢查第一個複選框時,它將打印「A」,當你檢查第二個複選框時,它將同時打印「A」和「B」。 –

回答

1

我相信,下面的代碼附加與前一個你的結果:

DocsMissingTB.Text += Environment.NewLine + Environment.NewLine + message; 

這是

DocsMissingTB.Text = DocsMissingTB.Text + Environment.NewLine + Environment.NewLine + message; 

那麼多頭形態,則無需與前值追加和剛需分配新值「

DocsMissingTB.Text = Environment.NewLine + Environment.NewLine + message; 
+0

因爲我想讓最後一條消息保持原樣,所以當我使用您提供的代碼時,會刪除DocsMissingTB具有的以前的文本。當我首先檢查底部的複選框時,它會發生。但是,當我檢查第一個複選框到底部的時候,只有它沒有像以前那樣的空格(nextline)。 @Akash KC – Ping

+0

爲此,您可以這樣做:'message = message + GetDescriptionMessage(PetitionTypeLB.Text.Trim(),「DescriptionMessage」,PetitionCheckBoxList.Items [i] .Text)+ Environment.NewLine' –

+0

問題。非常感謝!很好的幫助。 – Ping