2013-06-25 4 views
1

Приветствую, я пишу код для открытия страницы aspx в новом окне. Но когда я впервые нажимаю кнопку страницы, она не открывает окно, но после этого открывается каждый раз, когда я нажимаю. Я значит сказать, что окно не открывается при первом щелчке кнопки в asp.net здесь мой кодwindow.open не работает при первом нажатии кнопки в 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';"; 
    } 

Пожалуйста, скажите мне, почему это происходит

ответ

0

, потому что на первом щелкните его назначить OnClientClick событие Button1 и не перенаправлять вас на событие windows.open, потому что декларация еще не была выполнена, когда вы первый раз нажимаете эту кнопку. Вы должны объявить это OnClientClick по адресу pageLoad Событие, чтобы перенаправить вас в первый раз при нажатии этого Button1

0

hmmm .. это будет работать в соответствии с ур требование ... удалить ваше событие 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';"; 

    } 
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 на кнопку, поэтому в следующий раз, когда вы нажмете на нее, она будет работать.