5

更新パネル内で ScriptManager.RegisterStartupScript を使用して、グリッドビュー内のリンク ボタンのクリック イベントで新しいタブでファイルを開こうとしていますが、機能しません。コードは次のとおりです。

       filename = Server.UrlEncode(filename);          
       string js = "<script>window.open('ViewReports.aspx?filename=" + Server.UrlEncode(filename) + "', '_newtab');</script>";           
       ScriptManager.RegisterStartupScript(UpdatePanel1,UpdatePanel1.GetType(),"Pop up",js,true);

これも機能しません:

        ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), js, true);

そして、更新パネルの外で以下のコードを使用している場合、動作します:

         Type cstype = this.GetType();

        ClientScriptManager cs = Page.ClientScript;
        cs.RegisterStartupScript(cstype, "dateSrpt", "<script>window.open('ViewReports.aspx?filename=" + Server.UrlEncode(filename) + "', '_newtab');</script>");
4

1 に答える 1

9

インライン JavaScript に問題があります。インライン JavaScript では動作しません。別のjavascript関数としてaspxページに分離し、Registerstartupscript内で関数を呼び出すと、機能しました。

Javascript

function OpenPopup() {            
        window.open('PulseUserManagement.aspx', null, 'height=500, width=1100, status=no,      resizable=no, scrollbars=yes, toolbar=no,location=no, menubar=no');
    }

CSコード

ScriptManager.RegisterStartupScript(updatepanel1, updatepanel1.GetType(), "Pop up", "OpenPopup();", true);

このようにしてみてください、うまくいきます。

于 2013-07-12T10:09:05.110 に答える