Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 复选框列表打印时出错_C#_Asp.net_Arrays_Checkboxlist - Fatal编程技术网

C# 复选框列表打印时出错

C# 复选框列表打印时出错,c#,asp.net,arrays,checkboxlist,C#,Asp.net,Arrays,Checkboxlist,下面是我的代码,我很难在想要的文本框中打印出来。一旦我选中了一个复选框,它就会打印出我想要的消息,但一旦我选中了两个复选框,它就会打印出两条消息,这对我来说是一个错误。我想要的是,当我选中(A)复选框时,它将显示(A)消息,当我选择(A)和(B)时,它将分别显示(A)和(B)消息,但在我的代码中发生的是,当我选中(A)和(B)复选框时,它将首先显示(A)消息,然后显示(A)和(B)消息组合 protected void PetitionCheckBoxList_SelectedIndexChan

下面是我的代码,我很难在想要的文本框中打印出来。一旦我选中了一个复选框,它就会打印出我想要的消息,但一旦我选中了两个复选框,它就会打印出两条消息,这对我来说是一个错误。我想要的是,当我选中(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;
}
protectedvoid呈请检查框列表\u SelectedIndexChanged(对象发送方,事件参数e)
{
字符串消息=”;
对于(int i=0;i
顺便说一句,GetDescriptionMessage();方法,它将获取描述
来自数据库的消息基于选定的请愿书复选框列表。

我相信,以下代码将您的结果附加到上一个结果中:

DocsMissingTB.Text += Environment.NewLine + Environment.NewLine + message;
这是一个很长的形式

DocsMissingTB.Text = DocsMissingTB.Text + Environment.NewLine + Environment.NewLine + message;
因此,您不需要附加上一个值,只需要指定新值“


这是因为每次选中复选框时,您的事件都会触发。但这正是我想要的,每次选中复选框列表中的复选框时,我都想打印一条消息。@rahusinghand这就是代码中发生的事情:当您选中第一个复选框时,它正在打印
a
,当您选中第二个复选框时,它正在打印
A
&
B
。那么如何区分这两条消息呢?@rahussing因为我希望最后一条消息是完整的,所以当我使用您提供的代码时,它会删除DocsMissingTB之前的文本。当我首先选中底部的复选框并将其置于顶部时,会发生这种情况。但是当我选中第一个复选框时到底部是可以的,只是它没有像以前那样的空格(nextline)。@Akash kcash为此,您可以这样做:
message=message+GetDescriptionMessage(请愿类型lb.Text.Trim(),“DescriptionMessage”,请愿CheckboxList.Items[i].Text)+Environment.NewLine
DocsMissingTB.Text = Environment.NewLine + Environment.NewLine + message;