none
Attributesを使用してjavascriptのwindow.openの使用で初回クリック時に動作しない。 RRS feed

  • 質問

  • 始めまして。

    ボタンのAttributesを使用してjavascriptのwindow.openを使用させたいのですが、初回クリック時に動作せず、二回目以降に動作してしまいます。
    ブレークポイントを使い処理が通っているか確認しましたが、ちゃんと通っていました。
    初回クリック時から動作させることはできるのでしょうか?

    <!--ソース-->
    <asp:LinkButton ID="lbTest" runat="server" OnClick="cmd_Test" >詳細</asp:LinkButton>

    //コード
    protected void cmd_Test(object sender, EventArgs e)
        {
            lbTest.Attributes["onclick"] = "window.open('../Menu/TestUpDate.aspx','','')";
        }

    どうかご教授宜しくお願い致します。
    2006年10月31日 1:37

すべての返信

  • このプログラムだと、最初に表示されたときはHTMLにJavaScriptの部分が含まれていません。
    一度クリックしてPostBackが起きてはじめてJavaScriptがHTMLの中に書き込まれます。

    #このあたり、ブラウザに表示されたHTMLのソースを表示して確認してみてください。

    AttributeによるJavaScriptの設定を、たとえばPage_Load等のタイミングで常にHTMLに書き込むようにすればよいと思います。

     

    2006年10月31日 2:28

  • 早速のご教授ありがとうございます。
    また、前回も教えていただき、感謝しております。

    PostBackを起こし、ブラウザで確認してみたところ、
    onclick="window.open('../Menu/TestUpDate.aspx','','');"
    が書き込まれているのを確認できました。

    本当にありがとうございました。


    2006年10月31日 3:19