朋友您好我在新窗口中编写了打开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';";
}
请告诉我它为什么会发生
答案 0 :(得分:0)
因为首次点击它会分配OnClientClick
Button1
事件并且不会将您重定向到windows.open事件,因为当您第一次点击此按钮时声明尚未执行。您有在OnClientClick
事件中声明此pageLoad
,以便在您按此Button1
答案 1 :(得分: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';";
}
答案 2 :(得分: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
设置为该按钮,因此下次点击该按钮时会有效。