カスタムコントロールで使用する JavaScript を設定する方法

 カスタムコントロールで使用する JavaScript を設定するには、カスタムコントロールの「OnPreRender()」メソッドをオーバーライドして、「Page.RegisterClientScriptBlock()」メソッドにより JavaScript の内容をページに登録します。
【使い方】

例:キー入力で Enter が押されたとき、次に移動する JavaScript を設定する。
/// <summary>
/// JavaScriptを出力するメソッド。
/// </summary>
protected override void OnPreRender( System.EventArgs e )
{
    // スクリプトを作成します。
    string str =
        "<script language=\"JavaScript\"><!--{CustomControl}\n"
        + "    function OsEnterMoveNext( event ) {\n"
        + "        if ( event.keyCode==13 ){\n"
        + "            if ( event.srcElement.type=='text' ){\n"
        + "                event.keyCode = 9;\n"
        + "            }\n"
        + "        }\n"
        + "    }\n"
        + "    --></script>\n";

    // ページにスクリプトを登録します。
    Page.RegisterClientScriptBlock( "OsEnterMoveNext", str );
}
【補足】
 Page.RegisterClientScriptBlock に定義したキーで JavaScript を識別することにより、複数のカスタムコントロールから重複して出力されることがブロックされます。
 従って、キー名が同じスクリプトは、内容の如何にかかわらず同一と判断して処理されるので、キー名の管理には留意が必要になります。
戻る