Asp.net 如果选中复选框,如何获取标签的内容?

Asp.net 如果选中复选框,如何获取标签的内容?,asp.net,listview,checkbox,webforms,label,Asp.net,Listview,Checkbox,Webforms,Label,我有一个多栏的列表视图。其中一列是复选框,另一列是标签。还有其他专栏,但它们与这个问题并不相关。在本页按钮的点击事件中,如果选中了与标签相邻的复选框,我想读取标签的值。如何阅读标签内容 到目前为止,我的代码包括在下面。代码将运行,但从未发现复选框的选中状态处于选中状态。我检查了itemTemplate以确认名称,并确保此问题不是由于键入错误造成的 CheckBox chkSelected; List<int> selectedIds = new Lis

我有一个多栏的列表视图。其中一列是复选框,另一列是标签。还有其他专栏,但它们与这个问题并不相关。在本页按钮的点击事件中,如果选中了与标签相邻的复选框,我想读取标签的值。如何阅读标签内容

到目前为止,我的代码包括在下面。代码将运行,但从未发现复选框的选中状态处于选中状态。我检查了itemTemplate以确认名称,并确保此问题不是由于键入错误造成的

        CheckBox chkSelected;
        List<int> selectedIds = new List<int>();


        foreach (var x in lvPeople.Items)
        {
            chkSelected = (CheckBox)x.FindControl("IsAlumni");

            if (chkSelected.Checked)
            {
                int id = (int)lvPeople.DataKeys[x.DisplayIndex].Value;                    

                selectedIds.Add(id);
            }
        }
复选框chkSelected;
List SELECTEDDS=新列表();
foreach(lvPeople.Items中的变量x)
{
chkSelected=(复选框)x.FindControl(“IsAlumni”);
如果(chkSelected.Checked)
{
int id=(int)lvPeople.DataKeys[x.DisplayIndex].Value;
选择edids.Add(id);
}
}

你会有这样的东西:

foreach (var x in lvPeople.Items)
{
    chkSelected = (CheckBox)x.FindControl("IsAlumni");

    if (chkSelected.Checked)
    {
        int id = (int)lvPeople.DataKeys[x.DisplayIndex].Value;

        var myLabel = (Label)x.FindControl("lblContactId");
        var myLabelContent = myLabel.Text;                  

        selectedIds.Add(id);
    }
}
例如,在selected item事件中,您可以使用以下代码:

CheckBox chkSelected =
           lvPeople.Items(lvPeople.SelectedIndex).FindControl("IsAlumni") as CheckBox;

你会有这样的东西:

foreach (var x in lvPeople.Items)
{
    chkSelected = (CheckBox)x.FindControl("IsAlumni");

    if (chkSelected.Checked)
    {
        int id = (int)lvPeople.DataKeys[x.DisplayIndex].Value;

        var myLabel = (Label)x.FindControl("lblContactId");
        var myLabelContent = myLabel.Text;                  

        selectedIds.Add(id);
    }
}
例如,在selected item事件中,您可以使用以下代码:

CheckBox chkSelected =
           lvPeople.Items(lvPeople.SelectedIndex).FindControl("IsAlumni") as CheckBox;

您多次寻找一个名为“IsAlumni”的控件?如果您在Request.Forms中查找,标签是否在那里?复选框只有在选中时才会提交。您能显示.aspx页面的相关代码吗?如果(!(page.IsPostback))您多次查找一个名为“IsAlumni”的控件,您是否会选中此复选框?如果您在Request.Forms中查找,标签是否在那里?复选框只有在选中时才会提交。您能显示.aspx页面的相关代码吗?如果(!(page.IsPostback))标签不是像文本框那样的输入控件,而只是呈现为跨距,您是否要检查此选项?根据我的经验,在回发时,您永远无法从标签中获得值。您必须将文本加载到文本框中,然后执行var myTxt=(textbox)x.FindControl(“txtContactID”);标签不是像文本框那样的输入控件,而只是呈现为跨距吗?根据我的经验,在回发时,您永远无法从标签中获得值。您必须将文本加载到文本框中,然后执行var myTxt=(textbox)x.FindControl(“txtContactID”);