日期:2014-05-18  浏览次数:20560 次

点击按钮两次才弹出确认对话框的小问题,不要在page_load()预先先加载按钮事件的解决办法~
入题:我的代码:
  if   (dr1.Read())
                {
                        Response.Redirect( "./Plan_Add.aspx ");
                }
                else
                {
  PlanButton.Attributes.Add( "onclick ",   "if   (confirm( '你还没有计划,要添加计划吗? ')){self.location.href= './Plan_Add.aspx ';}   return   false; ");

                }
                myconnection.Close();

因为有读数据库,所以在page_load()中加载按钮事件时,就会直接到Plan_Add.aspx页面。
除了在页面page_load()预先先加载按钮事件解决所述问题,还有没有别的办法。

------解决方案--------------------
Button_CLick


Page.RegisterStartupScript( " <script> if (confirm( '你还没有计划,要添加计划吗? ')){self.location.href= './Plan_Add.aspx ';} </script> ");
------解决方案--------------------
if (dr1.Read())
{
Response.Redirect( "./Plan_Add.aspx ");
}
else
{
response.write( " <script> if (confirm( '你还没有计划,要添加计划吗? ')){self.location.href= './Plan_Add.aspx ';} return false; </script> ");

}

------解决方案--------------------
if (confirm( '你还没有计划,要添加计划吗? ')){self.location.href= './Plan_Add.aspx ';} return false; "用Response.Write()怎么样??
------解决方案--------------------
楼主的代码,Connection有可能不会关闭
Response.Redirect( " ")调用的时候,会终止当前的页面执行,而导致Connection.Close()没有执行。

试试这样:
bool isShow = false;
if (dr1.Read())
{
ifShow = true;
}
myconnection.Close();

if (isShow)
{
//...
}
else
{
//...
}
------解决方案--------------------
Page.RegisterStartupScript( " ", " <script> if (confirm( '你还没有计划,要添加计划吗? ')){self.location.href= './Plan_Add.aspx ';} </script> ");

这样就Ok了
------解决方案--------------------
Page.RegisterStartupScript( " ", " <script> if (confirm( '你还没有计划,要添加计划吗? ')){self.location.href= './Plan_Add.aspx ';} </script> ");


没错 执行脚本