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

こんにちは、Javascript コードのみで RadWindow ダイアログを作成するソリューションを共有したいと思います。

2 つのメソッドを実装する必要があります。1 つは RadWindow ダイアログを初期化するためのもので、もう 1 つは RadWindow を閉じた後に返される引数を受け取るためのものです。この 2 番目のステップで必要なことを行うことができます (ポストバックなど)。

これが私のコードです:

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 に答える