【发布时间】:2021-11-06 11:36:43
【问题描述】:
我有一个与 RadListBox 绑定的 ModalPopupExtender,因此当从列表框中选择一个项目时,我需要一个“请稍候”消息,而后面的页面将数据加载到 RadCharts 中。加载完成后,Modal 会隐藏。我遇到的问题是,如果再次选择相同的列表项,模态弹出窗口会再次显示,但永远不会消失。我已经尝试了几乎所有东西,但是在 RadListBox 中单击/选择列表项会立即显示模态,我似乎无法找到一种方法来检查项目是否相同,然后什么也不做.
这是我的面板和模态代码 (ASPX)
<asp:Panel ID="pnlProgress" runat="server" Height="50px" Width="50px" >
<div>
<div class="popupbody">
<table width="50%">
<tr>
<td align="center">
<asp:Image ID="imgProgress" runat="server" ImageUrl="~/_images/ajax-loader.gif" />
<br />
<br />
<asp:Label ID="lblLoading" runat="server" Text='Please wait...'
Font-Bold="true"></asp:Label>
</td>
</tr>
</table>
</div>
</div>
</asp:Panel>
<ajaxToolKit:ModalPopupExtender ID="mpeProgress" runat="server" TargetControlID="lboxTestedMachines" PopupDragHandleControlID="pnlProgress" `enter code here`
X="1000" Y="500" PopupControlID="pnlProgress" BackgroundCssClass="modalBackground" RepositionMode="RepositionOnWindowResize" BehaviorID="lboxTestedMachines">
</ajaxToolKit:ModalPopupExtender>
这是我的 ASPX.CS 代码
protected void lboxTestedMachines_SelectedIndexChanged(object sender, EventArgs e)
{
int iResultID = Convert.ToInt32(lboxTestedMachines.SelectedValue);
if (tbl_charts.Style.Value != "display:normal")
tbl_charts.Style.Value = "display:normal";
GetMachineName(iResultID);
RdListView_Chart.DataSource = LoadCassetteForFoodChart(iResultID);
GetApprovalRejectionStatus(iResultID);
}
【问题讨论】:
-
尚未使用 Telerik 控件,但是,您可以尝试在代码隐藏中隐藏
pnlProgress- 更具体地说是mpeProgress吗?喜欢 -mpeProgress.Hide? -
嗨,Marco... 您认为何时/何地/在什么事件上实现这一点?我之所以问,是因为我确实在几乎所有内容上都设置了断点,当您单击列表框中的一项时,会显示等待模式并且没有达到一个断点。就像当你将 TargetControlID 与 ModalPopupExtender 结合时,有一层无法访问或控制的处理。
-
首先尝试
lboxTestedMachines_SelectedIndexChanged事件,否则,请查看文档并查看您可以通过代码隐藏访问的ModalPopupExtender事件。 -
嗨,Marco,我在帖子中提供的 lboxTestedMachines_SelectedIndexChanged 事件,这就是启动 Show Modal 流程的事件。就像我说的,我不能在那个过程之前、中间或之后。只要完成由列表框中的选定项目启动的一系列事件,模态就会显示。问题是当再次连续选择相同的确切项目时,模态再次显示,但永远不会消失。 (例如卡住)
标签: modalpopupextender selectedindexchanged radlistbox