关闭RadWindow通过调用JavaScript的我有一个控制,看起来像这样:从服务器
<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);
无济于事。我错过了什么?
自我=在JavaScript的窗口,据我所知。我试图从窗口内关闭。代码发布了。可悲的是,我想我已经在Telerik的网站上看到过这一点,但认为它只适用于Control。无论如何,感谢发布! – kmkemp