0

当我点击按钮时 RadWindow 没有打开

我的 JavaScript 代码:

<script type="text/javascript">
    function OpenURL(URL) {
        var oWnd1 = radopen(URL, "Detalhamento do Contrato");
        oWnd1.set_height("600px");
        oWnd1.set_width("600px");
        oWnd1.center();
        oWnd1.set_modal(true);

    }
</script>

我的 C# 代码:

    protected void RadGrid_ItemCommand(object sender, GridCommandEventArgs e)
    {
        if (e.CommandName.Equals("Detalhes"))
        {
            String Parametros = "ContratoNumero=" + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["CONT_NUMERO"];
            Parametros += "&AditivoNumero=" + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["CONT_NUMADITIVO"];
            Parametros += "&ContratoTipo=" + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["CONT_TIPO"];
            Parametros += "&Exercicio=" + this.txtExercicio.Text;

            string URL = "ContratoDetalhamento.aspx?" + Parametros;

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "relatorio", String.Format("OpenURL('{0}','{1}');", URL, DateTime.Now.Ticks), true);
        }
    }

有人能帮我吗 ?现在谢谢

4

3 回答 3

0

你错过了:

oWnd1.SetActive();
于 2013-11-07T14:17:23.883 回答
0

1)看这里正确执行脚本:http ://www.telerik.com/help/aspnet-ajax/radwindow-troubleshooting-javascript-from-server-side.html 。

2)在这里查看正确的 radopen() 语法:http ://www.telerik.com/help/aspnet-ajax/window-programming-opening.html 。

这是我的做法:

function OpenURL(URL) {
    var oWnd1 = radopen(URL, "RadWindowName");//note, no spaces
    oWnd1.setSize(600, 600);//width, height
    oWnd1.set_modal(true);//making it modal will center it by default

}

现在,确保足够晚地执行代码:

string script = "function(f){openURL('url'); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "someKey", script, true);
于 2013-11-12T14:15:30.037 回答
0

您好,我想与您分享我仅在 Javascript 代码中创建 RadWindow 对话框的解决方案。

我们需要实现两种方法:一种用于初始化 RadWindow 对话框,最后一种用于接收关闭 RadWindow 后返回的参数。您可以在第二步中做您想做的事(例如回发,...)

这是我的代码:

初始化 RadWindow 对话框:

function openMyDialog(url, args) {
    var manageWindow = GetRadWindowManager();
    if (manageWindow) {
        var radWindow = manageWindow.open(url, "<your_dialog_name>");
        if (radWindow) {
            radWindow.set_initialBehaviors(Telerik.Web.UI.WindowBehaviors.None);
            radWindow.set_behaviors(Telerik.Web.UI.WindowBehaviors.Move + Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Resize);
            radWindow.setActive(true);
            radWindow.SetModal(true);
            radWindow.center();
            radWindow.set_visibleStatusbar(false);
            radWindow.set_keepInScreenBounds(true);
            radWindow.set_minWidth(640);
            radWindow.set_minHeight(480);
            radWindow.setSize(640, 480);
            radWindow.set_destroyOnClose(true);
            radWindow.add_close(closeMyDialog);//after closing the RadWindow, closeMyDialog will be called
            radWindow.argument = args;//you can pass the value from parent page to RadWindow dialog as this line
        }
    }
}

关闭 RadWindow 对话框:

function closeMoveProjectDialog(sender, args) {
    var objArgs = args.get_argument();
    //objArgs variable stored the values returned from the RadWindow
    //you can use it for your purpose
}

这个怎么称呼?您可以将 open 方法放入您期望的方法中。在我这边,我有一个如下所示的方法,我会这样调用 RadWindow:

function ShowForeignKeyFrontEditSingle(param1, param2){
    var url = "ForeignKeyFrontEditSingle.aspx";
    var objArgs = new Array();
    objArgs[0] = param1;
    objArgs[1] = param2;

    openMyDialog(url, objArgs);
    return;
}

当然,你必须声明一个 RadWindowManager 控件

function GetRadWindowManager() {
    return $find("<%=your_radwindow_manager_control.ClientID%>");
}
于 2015-12-27T13:08:18.667 回答