Я использую UpdatePanel и Ajax Tabcontainer. У меня есть один столбец шаблона элемента, который имеет как флажок, так и радиообъект. Либо один из них видим одновременно на основе одного битового поля.переключатель в gridview всегда возвращает checked = false внутри ajax updatepanel
<asp:GridView ID="gvAutoMatchFund" runat="server" AutoGenerateColumns="False" ClientIDMode="Static"
AllowPaging="True" PageSize="50" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None"
OnRowDataBound="gvAutoMatchFund_RowDataBound" BorderWidth="1px" CellPadding="3"
onpageindexchanging="gvAutoMatchFund_PageIndexChanging"
Width="100%">
<Columns>
<asp:BoundField DataField="DYNAMO_FUNDNAME" HeaderText="Dynamo Fund Name" ItemStyle-Width="25%" />
<asp:BoundField DataField="DYNAMO_FUNDID" HeaderText="Dynamo Fund ID" ItemStyle-Width="25%" />
<asp:BoundField DataField="INVESTRAN_FUNDNAME" HeaderText="Investran Fund Name" ItemStyle-Width="25%" />
<asp:BoundField DataField="INVESTRAN_SYSTEMFUNDID" HeaderText="Inv. Sys. Fund ID" />
<asp:TemplateField ItemStyle-Width="80px" ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>
<asp:CheckBox ID="chkSelAll" Text="Select" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkSel" runat="server" Visible='<%#(!(bool)Eval("ISMULTIPLE"))%>' />
<asp:RadioButton ID="rdoSel" runat="server" Visible='<%#((bool)Eval("ISMULTIPLE"))%>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#C6E5F5" Font-Bold="True" ForeColor="#4695BD" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#007DBB" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#00547E" />
<EmptyDataRowStyle ForeColor="Maroon" />
</asp:GridView>
Я заселение его после проверки постбэк
if (!Page.IsPostBack)
{
...
PopulateMyGV();
}
При нажатии на кнопку Я пытаюсь петлю через каждый элемент в этом GridView и используя метод FindControl найти флажок и радиокнопку. Пока эта точка работает, однако проверенная радиокамера всегда ложна, даже если она выбрана. Однако флажок работает отлично (дает правильное значение для проверенного свойства), если выбрано или нет. Смотрите ниже код
В кнопке мыши
foreach (GridViewRow gvr in gvAutoMatchFund.Rows)
{
CheckBox chkSel = (CheckBox)gvr.FindControl("chkSel");
RadioButton rdoSel = (RadioButton)gvr.FindControl("rdoSel");
if (chkSel != null)
{
if (chkSel.Checked)
{
...
}
}
if (rdoSel != null)
{
if (rdoSel.Checked)
{
...
}
}
}
Что мне не хватает?
Подробнее о том же вопросе, что мы нашли, является еще одной странной вещью, которую радиоприемник работает во вторых попытках, означает, что если мы попробуем для кнопки с четным номером, то он вернет правильное значение для проверки !!! чрезвычайно сложно, поскольку это означает, что логика правильная, тогда что не так, пожалуйста, помогите. –