用c#从服务器端关闭telerik radwindow

本文关键字:telerik radwindow 服务器端 | 更新日期: 2023-09-27 17:53:11

我用telerik radwindow创建了加载窗口,但我无法在c#中从服务器端关闭它。

有人能帮我吗?

protected void bt_next_Click(object sender, EventArgs e)
{
    string script = "function f(){ window.radopen('"'", '"windows_loading'");Sys.Application.remove_load(f); }Sys.Application.add_load(f);";
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
    //here i connect with database and insert all info to database and then i want close the radwindow.
}

用c#从服务器端关闭telerik radwindow

您可以像这样实现所需的功能,服务器端(即按钮点击等):

System.Web.UI.ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "CloseRadWindow();", true);

然后在客户端使用这些Jquery方法:

function CloseRadWindow() {
    //get a reference to the current RadWindow
    var wndow = GetRadWindow();
    wndow .Close();
}
function GetRadWindow() {
    var oWindow = null;
    if (window.radWindow) oWindow = window.radWindow;
    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
    return oWindow;
}

这对我来说很有效:

aspx:

  <asp:Button ID="Button1" runat="server" Text="Save" OnClick="Button1_Click" />

aspx脚本:

<script type="text/javascript">

    function GetRadWindow() {
        var oWindow = null;
        if (window.radWindow)
            oWindow = window.radWindow;
        else if (window.frameElement && window.frameElement.radWindow)
            oWindow = window.frameElement.radWindow;
        return oWindow;
    }

    function CloseModal() {
        GetRadWindow().close();
    }

</script>

aspx.cs:

ClientScript.RegisterStartupScript(GetType(), "Javascript", "setTimeout(function(){ CloseModal(); },250);", true);