我一直在努力尝试让带有 1 个复选框的列表视图有一个 itemtemplate 来向我显示 datakey 值或 Text 值。
<ItemTemplate>
<asp:CheckBox ID="chkPreferences" runat="server" Text='<%#Eval ("DESCRIPTION") %>' />
</ItemTemplate>
我将列表视图上的 datakeynames 属性设置为 PreferenceID
然后在我后面的代码中,我将 listvie 与此代码绑定
if (Session["IDValue"] != null)
{
int gen = Convert.ToInt32(Session["IDValue"]);
lstPreferences.DataSource = mdb.GetPreferences(gen);
lstPreferences.DataBind();
}
然后我在点击事件中添加了一个按钮到这个代码的页面。
if (lstPreferences.Items.Count > 0)
{
for (int i = 0; i < lstPreferences.Items.Count; i++)
{
CheckBox listChecked = (CheckBox)lstPreferences.Items[i].FindControl("chkPreferences");
if (listChecked.Checked)
{
LabelResult.Text = listChecked.Text;
}
}
}
基本上我试图让每个复选框的选中值被选中并将其显示在标签中。我搜索了很多有这个问题的人,并尝试用几种不同的方式重构代码,但最后我似乎无法弄清楚我做错了什么。此外,当我输入 listChecked.Checked 时,它甚至没有识别出复选框已被选中。
谢谢