1

こんにちは、新しいウィンドウで aspx ページを開くためのコードを書きます。しかし、ページボタンを初めてクリックすると、ウィンドウは開きませんが、その後はクリックするたびに開きます。asp.netのボタンを最初にクリックしてもウィンドウが開かないということは、ここに私のコードです

 protected void Button1_Click(object sender, EventArgs e)
    {
        Button1.OnClientClick =
  "window.open('ezychat/frmchathome.aspx?FromUserId=" +Session["User_userid"] +
                     "&Username=" + Session["User_username"] +
                    "&IsReply=yes','','width=400,height=200,scrollbars=no,toolbars=no,titlebar=no,menubar=no'); isLostFocus = 'true';";
    }

なぜそうなるのか教えてください

4

3 に答える 3

0

OnClientClick最初のクリックでイベントが割り当てられ、windows.open イベントにリダイレクトさButton1れないためです。これは、このボタンを初めてクリックしたときに宣言がまだ実行されていないためです。あなたはこれを押しますOnClientClickpageLoadButton1

于 2013-06-25T04:16:52.443 に答える
0

うーん..これはあなたの要件に従って動作します...あなたのonclickイベントも削除してください...

protected void Page_Load(object sender, EventArgs e)
    {
        Button1.OnClientClick =
        "window.open('ezychat/frmchathome.aspx?FromUserId=" + Session["User_userid"] +
                           "&Username=" + Session["User_username"] +
                          "&IsReply=yes','','width=400,height=200,scrollbars=no,toolbars=no,titlebar=no,menubar=no'); isLostFocus = 'true';";

    }
于 2013-06-25T04:20:28.547 に答える
0

このコードを追加する必要があります

Button1.OnClientClick =
  "window.open('ezychat/frmchathome.aspx?FromUserId=" +Session["User_userid"] +
                     "&Username=" + Session["User_username"] +
                    "&IsReply=yes','','width=400,height=200,scrollbars=no,toolbars=no,titlebar=no,menubar=no'); isLostFocus = 'true';";

イベントではpageloadなくメソッドで。Button click

何が起こっているかというと、最初のクリックでプロパティOnClientClickをボタンに設定するので、次にクリックすると機能します。

于 2013-06-25T04:21:00.330 に答える