2017-01-03 11 views
0

内からScriptManager.RegisterStartupScriptを使用するためにどのように私はaspxページから、ウィンドウ内の文書を開くには、次のコードを使用:は、様々なプロジェクトでは、DLL

public void viewDocument(string strLink, System.Web.UI.Control ctrlPanel) 
{ 
    string strScript; 
    strScript = "var w=window.open('" + strLink + "','zz');window.focus();"; 
    ScriptManager.RegisterStartupScript(ctrlPanel, ctrlPanel.GetType(), "ShowInfo", strScript, true); 
} 

、すべてが正常に動作しています。
ツールボックス、つまり多くのプロジェクトで役立つ機能のみを含むプロジェクトを作成することにしました。そのツールボックスはプロジェクトによって参照されるDLLになりました。
私の問題:私のviewDocument関数はもう動作しません。私はjavascriptのエラー、何も持っていない。デバッグモードでは、 "ScriptManager.RegisterStartupScript"コマンドを実行するが、ウィンドウは開かないことがわかります。
誰かが私が逃したものを私に説明することはできますか?

+0

私はこれを長年プレイしていませんが、よく覚えていれば、あなたのウェブページはScriptManagerコントロールを持っていると思います。あなたはそれが事実であることを確認しましたか? – JuanR

+0

はい、私はMasterPageに1つあります。 –

+0

ScriptManager.GetCurrent()を呼び出そうとしましたか?何を手に入れますか?それは何が起こっているのか理解するのに役立ちます。 – JuanR

答えて

0

このスニペットを使用してください。次に、System.Web.UI.Controlを変数として送信する必要はありません。

public void viewDocument(string strLink) 
{ 
    Page page = HttpContext.Current.CurrentHandler as Page; 

    string strScript = "var w=window.open('" + strLink + "','zz');window.focus();"; 
    ScriptManager.RegisterStartupScript(page, page.GetType(), "ShowInfo", strScript, true); 
} 
+0

これは私の問題を解決しました!ありがとう、ファンのおかげです。 –

関連する問題