Существует список. Идентификатор списка: myListView. Существует скрытый элемент в списке (в itemTemplate). HiddenField ID: hfID. Есть флажок в listview (в itemTemplate). Флажок ID: checkBoxSec И есть кнопка из списка. Кнопка ID: btnConfirmSelectedустановите флажки в списке с кнопкой
Моя цель: я хотел бы получить выбранный флажок, когда я нажму кнопку asp.
Теперь я делюсь ASPX страница первой, а затем aspx.cs (код позади стороны)
1-ASPX боковой
<asp:ListView ID="myListView" runat="server" OnItemCommand="listView_OnItemCommand"
OnItemDataBound="listView_ItemDataBound">
<LayoutTemplate>
<table id="listViewRecordsTable" cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th style="text-align: left;">
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="false" onchange="CheckAll(this);" />
</th>
<th style="text-align: left;">
süreç no
</th>
</tr>
</thead>
<tbody>
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</tbody>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr class="odd gradeX" id="<%# Eval("ID").ToString() == "BOS" ? "" : Eval("ID")%>">
<td>
<asp:CheckBox ID="checkBoxSec" runat="server" CssClass="checkBoxExample" />
</td>
<td>
<%# Eval("surecID").ToString() == "BOS" ? "" : Eval("surecID")%>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
2-aspx.cs стороне (код позади сторона)
protected void btnConfirmSelected_Click(object sender, EventArgs e)
{
try
{
foreach (var item in myListView.Items)
{
if (item.ItemType == ListViewItemType.DataItem)
{
HiddenField hfID = item.FindControl("hfID") as HiddenField;
CheckBox checkBoxSec = item.FindControl("checkBoxSec") as CheckBox;
if (checkBoxSec.Checked)
{
//some tasks in here. i put debug point to here. and then i click button after i select some checkbox. but debug never comes here.
}
}
}
}
catch (Exception ex)
{
labelResult.Text = ex.ToString();
}
}
Может кто-нибудь мне помочь, пожалуйста; Где ошибка или какая-либо недостающая часть? я ставлю отладки пункт здесь:
if (checkBoxSec.Checked)
{
//some tasks in here. i put debug point to here. and then i click button after i select some checkbox. but debug never comes here.
}
но никогда не приходит сюда. но я нажимаю кнопку после того, как я установил флажок. большое спасибо.
Ваш код работает, я его протестировал. поместите точку останова в самом начале нажатия кнопки не в 'if (checkBoxSec.Checked)' и проследите, что там происходит. –
могу подтвердить. Он работает отлично. Вы обернули DataBinding внутри 'if (! IsPostBack) {}' – VDWWD
Попробуйте этот сценарий, пожалуйста; выберите некоторые флажки в списке и нажмите кнопку. И поставьте 2 точки отладки. Сначала можно быть в самом начале нажатия кнопки и второй для этого: 'if (checkBoxSec.Checked)', когда вы нажимаете кнопку, вы увидите, что вторая точка отладки никогда не появляется. он должен быть в этом объеме. потому что мы уже выбрали некоторые флажки. это проблема. Кстати, первая точка отладки. благодаря!! – selcuksel