バインディングメソッドを再度呼び出さずに、 datatable
inCheckListBox
attributes
メソッドの値を保持したいpostback
だから私は持っていて、asp:CheckBoxList
それをバインドしています
if (!IsPostBack)
{
// code for binding
}
ASP.NET
<asp:CheckBoxList ID="chkboxCandidateList" runat="server">
</asp:CheckBoxList>
これが私のバインド方法ですC#
DataTable dtCandidateName = // datatable having all specified column
if (dtCandidateName != null && dtCandidateName.Rows.Count > 0)
{
chkLstBxCandidateName.Items.Clear();
ListItem lstItem = null;
for (int i = 0; dtCandidateName.Rows.Count > i; i++)
{
lstItem = new ListItem(Convert.ToString(dtCandidateName.Rows[i]["Candidate Name"]), Convert.ToString(dtCandidateName.Rows[i]["Candidate Id"]));
lstItem.Attributes.Add("Email", Convert.ToString(dtCandidateName.Rows[i]["Email"]));
lstItem.Attributes.Add("Mobile", Convert.ToString(dtCandidateName.Rows[i]["Mobile"]));
chkLstBxCandidateName.Items.Add(lstItem);
}
}
そして、ページ読み込みの最初の呼び出しで値を取得しています
HTML
<span email="test@kartika.com" mobile="01111111111"><input id="ContentPlaceHolder1_chkboxCandidateList_0" type="checkbox" name="ctl00$ContentPlaceHolder1$chkboxCandidateList$0" checked="checked" value="486"><label for="ContentPlaceHolder1_chkboxCandidateList_0">Kratika Shukla</label></span>
そのため、[送信] ボタンをクリックすると、メールとモバイルの値が取得されません
chkboxCandidateList.Items[i].Attributes["Email"] -- getting null
この記事を確認しましたが、回答に満足できませんでした