<telerik:RadCodeBlock runat="server">
<script type="text/javascript">
function refresh() {
window.$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RebindRecommendations");
}
</script>
</telerik:RadCodeBlock>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="AjaxRequest">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="NameOfGrid" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:radwindowManager ID="radwindowManager1" runat="server">
<Windows>
<telerik:radwindow ID="radwindow1" runat="server" NavigateUrl="UrlOfPage" OnClientClose="refresh"></telerik:radwindow>
</Windows>
</telerik:radwindowManager>
页:
<script type="text/javascript">
function closeWindow() {
self.close();
return false;
}
</script>
<!-- form fields here -->
<telerik:RadButton runat="server" ID="_cancel" Text="Cancel" OnClientClick="closeWindow"></telerik:RadButton>
<telerik:RadButton runat="server" ID="_submit" Text="Submit" OnClientClick="closeWindow" OnClick="DoSomeDataBaseStuff"></telerik:RadButton>
这按预期工作.我的radwindow被删除,我的控件的网格在点击取消或提交按钮时刷新.问题是数据库到那时还没有完成其工作,因此网格刷新不会显示更改.我试图将我的页面实现切换为如下所示:
页:
<script type="text/javascript">
function closeWindow() {
self.close();
return false;
}
</script>
<!-- form fields here -->
<telerik:RadButton runat="server" ID="_cancel" Text="Cancel" OnClick="CallJavaScriptToKillWindow"></telerik:RadButton>
<telerik:RadButton runat="server" ID="_submit" Text="Submit" OnClick="DoSomeDataBaseStuffAndThenCallJavaScriptToKillWindow"></telerik:RadButton>
ClientScript.RegisterStartupScript(GetType(), "Key", "closeWindow();", true);
我在closeWindow函数中点击了断点,但它没有相同的行为(窗口实际上没有关闭).我尝试了各种迭代,如:
ClientScript.RegisterStartupScript(GetType(), "Key", "$(document).ready(function() {return closeWindow();});", true);
无济于事.我错过了什么?
解决方法:
什么是’自我’?你不是说’这个’吗?
您是否尝试从窗口内部或启动窗口的页面关闭radwindow?
从窗口内部,我通常这样做:
function Getradwindow()
{
var oWindow = null;
if (window.radwindow)
oWindow = window.radwindow;
else if (window.frameElement.radwindow)
oWindow = window.frameElement.radwindow;
return oWindow;
}
function Close()
{
var oWindow = Getradwindow();
oWindow.argument = null;
oWindow.close();
return false;
}
另外,我使用ScriptManager.RegisterStartupScript而不是ClientScript.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。