У меня есть элемент управления datalist, в котором есть один флажок в каждом ItemTamplate. Наряду с флажком есть также гиперссылка для отображения некоторых документов. Пользователи должны иметь возможность щелкнуть флажок, который отобразит соответствующий документ в элементе управления Label с помощью StringBuilder. Код ниже почти работает, но он показывает дубликаты: например, если я выбираю флажок в строке 1, а затем выбираю другой флажок в строке 2, то элемент управления Label дважды отобразит документ из строки 1, а затем отобразит документ из строки 2. однажды. Вот соответствующий код. Спасибо!
<tr runat="server" id="tr_data">
<td>
<asp:CheckBox runat="server" ID="cb_docid" Value='<%# Eval("docid") %>' OnCheckedChanged="displayselectedinit"
AutoPostBack="true" />
<asp:HyperLink ID="hpl_docfileencr" Text='<%# Eval("docfileencr") %>' NavigateUrl='<%# "~/PDFEncr/" + DataBinder.Eval(Container.DataItem, "docfileencr") %>'
Target="_blank" runat="server" />
<br />
</td>
</tr>
protected void displayselected()
{
//return;
lbl_currselection.Text = "";
StringBuilder docselected = new StringBuilder();
foreach (DataListItem li in DataList1.Items)
{
if (li.ItemType == ListItemType.Item || li.ItemType == ListItemType.AlternatingItem)
{
CheckBox cb = li.FindControl("cb_docid") as CheckBox;
if (cb != null)
{
if (cb.Checked)
{
HyperLink hpl_docfile = li.FindControl("hpl_docfileencr") as HyperLink;
docselected.Append(hpl_docfile.Text + "<br />");
lbl_currselection.Text += docselected;
}
}
}
}
}
displayselected
вызывается из ниоткуда. - person Tim Schmelter   schedule 10.04.2012