【发布时间】:2017-03-29 21:12:10
【问题描述】:
我正在开发一个使用 Telerik RadComboBoxes 的 asp.net 网页,并尝试在所选索引更改时使用 RadAjaxLoadingPanel 显示加载微调器,并在其他代码完成时隐藏微调器。
我遇到一个问题,每当组合框的索引更改页面刷新时,我的 OnSelectedIndexChanged 函数在页面刷新后被调用,并且我尝试显示的 RadAjaxLoadingPanel 尚不存在。有没有办法在组合框索引更改后但页面刷新之前运行代码以显示我的加载微调器?
组合框示例
<telerik:RadComboBox runat="server" ID="cboReportTypes" OnSelectedIndexChanged="cboReportTypes_SelectedIndexChanged" AutoPostBack="true"></telerik:RadComboBox>
加载面板
<telerik:RadAjaxLoadingPanel ID="ModalLoadingPanel" runat="server" Transparency="10" BackColor="#E0E0E0" Modal="true">
<div style="margin-left: auto; margin-right: auto; margin-top: 45px; margin-bottom: auto; width: 135px; height: 80px;"
class="modalProgress">
<div class="spinner"></div>
</div>
</telerik:RadAjaxLoadingPanel>
显示微调器的javascript函数
function showActivityIndicator() {
console.log("showing the spinner");
var loadingPanel = $("#<%= ModalLoadingPanel.ClientID %>");
loadingPanel.show();
}
下拉索引更改时调用的C#函数(仅显示显示微调器的部分)
protected void cboReportTypes_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
ClientScript.RegisterStartupScript(this.GetType(), "startActivityIndicator", "showActivityIndicator()", true);
}
显示微调器工作正常,但从组合框函数调用页面时出现错误,因为由于页面刷新,loadingPanel 返回为 null。
感谢任何帮助,谢谢!
【问题讨论】:
-
您检查过本页demos.telerik.com/aspnet-ajax/combobox/examples/overview/…中的样本吗?你的页面上有
<telerik:RadScriptManager runat="server" ID="RadScriptManager1" />吗
标签: javascript c# asp.net telerik radcombobox