Es gibt eine Listview. Listenansichts-ID: myListView. Es gibt ein hiddenField in der Listenansicht (in itemTemplate) HiddenField ID: hfID. Es gibt ein Kontrollkästchen in der Listenansicht (in itemTemplate) Checkbox ID: checkBoxSec Und es gibt eine Schaltfläche aus der Listenansicht. Button ID: btnConfirmSelectedWählen Sie die Kontrollkästchen in der Listenansicht mit der Schaltfläche
Mein Zweck: Ich möchte Kontrollkästchen aktiviert bekommen, wenn ich diesen Asp-Button klicke.
Jetzt bin ich teilen aspx Seite zuerst und dann aspx.cs (Code hinter dieser Seite)
1-aspx Seite
<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 Seite (Code-behind Seite)
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();
}
}
Kann mir bitte jemand helfen; Wo ist der Fehler oder ein fehlender Teil? Ich habe Debug-Punkt hier:
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.
}
aber nie hier kommt. aber ich klicke auf die Schaltfläche, nachdem ich ein Kontrollkästchen ausgewählt habe. Danke vielmals.
Ihr Code funktioniert, ich habe es getestet. Setzen Sie Ihren Haltepunkt genau am Anfang des Knopfes klicken Sie nicht innerhalb 'if (checkBoxSec.Checked)' und verfolgen Sie, was dort vor sich geht. –
kann ich bestätigen. Es funktioniert gut. Haben Sie die DataBinding-Funktion in 'if (! IsPostBack) {}' – VDWWD
eingefügt? Versuchen Sie dieses Szenario bitte; Markieren Sie einige Kontrollkästchen in der Listenansicht und klicken Sie dann auf die Schaltfläche. Und setzen Sie 2 Debug-Punkte. Zuerst kann man am Anfang des Knopfes klicken und zweitens hier: 'if (checkBoxSec.Checked)' wenn du auf den Button klickst, wirst du sehen, dass der zweite Debug-Punkt nie kommt. es muss in diesem Umfang sein. weil wir bereits einige Checkboxen ausgewählt haben. Das ist das Problem. Der erste Debug-Punkt ist übrigens in Ordnung. Vielen Dank!! – selcuksel