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