我使用的是Telerik控件,有两个页面列表和详细页面。详细信息页面打开Radwindow。关闭radwindow后,ajaxrequest正在刷新列表页面(父页面)的网格。
<telerik:RadWindowManager ID="RadWindowManager1" Height="665px" Width="1200px" runat="server"
Modal="true" Behaviors="Close,Move" VisibleStatusbar="false" Title="Add Service" DestroyOnClose="true">
<Windows>
<telerik:RadWindow ID="rdwAddService" runat="server" Title="Editing record" ReloadOnShow="true"
ShowContentDuringLoad="false" Modal="false" DestroyOnClose="true" />
</Windows>
</telerik:RadWindowManager>
</telerik:RadAjaxPanel>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest" RequestQueueSize="0">
<ClientEvents OnResponseEnd="responseEnd" />
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="grdTL" />
<telerik:AjaxUpdatedControl ControlID="grdTR" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
function RefreshGrid(SubServiceType) {
if (SubServiceType == "TR") {
$find("<%=RadAjaxManager1.ClientID%>").ajaxRequestWithTarget( '<%= btnRefreshTRGrid.UniqueID %>', '');
}
else if (SubServiceType = "TL") {
$find("<%=RadAjaxManager1.ClientID%>").ajaxRequestWithTarget( '<%= btnRefreshTLGrid.UniqueID %>', '');
}
}**
Now problem is
In IE9,after opening/closing radwinow five-six times,
1)does not load radwindow again, like application hangout
2)Other button stops working
3)On refersh page, application hangout and need to close browser instance.**
任何帮助都将不胜感激。
发布于 2013-01-29 19:24:28
解决了IE9浏览器崩溃的问题。
问题是我将radwindow的关闭事件附加到pageLoad()函数中,所以每次回发,关闭函数附加(ex4次)和调用4次,在脚本网格中都是刷新的,所以4次网格是刷新和崩溃应用程序。
incorrect
function pageLoad() {
GetRadWindow().add_close(CallFnOnParent);
}解决方案是使用Sys.Application.add_init函数,它只在第一次附加关闭事件,并在关闭事件之前删除关闭事件。
correct
Sys.Application.add_init(function () {
// Initialization code here, meant to run once.
GetRadWindow().add_close(CallFnOnParent);
});发布于 2013-02-01 20:02:26
我建议一个更好的方法-在主页中添加处理程序,因为这是函数应该驻留的地方。然后,您可以简单地在标记中或在打开弹出窗口时设置它。然后,删除关闭处理程序本身是一个很好的方法。类似于:
function openRw(){
var wnd = radopen();
wnd.add_close(myCloseHandler);
}
function myCloseHandler(sender, args){
sender.remove_close(myCloseHandler);
//other code
}https://stackoverflow.com/questions/14579080
复制相似问题