有一个列表视图。 Listview ID:myListView。 listview中有一个hiddenField(在itemTemplate中)HiddenField ID:hfID。 listview中有一个复选框(在itemTemplate中)复选框ID:checkBoxSec 列表视图中有一个按钮。按钮ID:btnConfirmSelected
我的目的:当我点击这个asp按钮时,我想要选中复选框。
现在,我首先分享aspx页面然后再分享aspx.cs(代码背后的代码)
1-aspx side
<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.
}
但永远不会来这里。但我选择一些复选框后,我点击按钮。非常感谢。
答案 0 :(得分:0)
我没有足够的声誉来评论,但我建议您也发布您的数据绑定代码。
请确保您不要在POST上调用myListView.DataBind()
,因为这可以解释为什么您没有从ASP.net控件中获得预期的值。