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

关于弹出对话框但不刷新页面的问题
各位大侠:谢谢了!请帮帮忙呀,万分感谢!

小弟通过点击按钮,来生成一个表格,要判断,如下代码,如果条件成立生成表格,不成立,弹出对话框,但是希望如果不成立生成对话框时不要刷新之前的页面,不知如何实现请高手指点。

有说使用Page的RegisterStartupScript,但是我使用后出现RegisterStartupScript已过期。
又有说要在前台判断,小弟菜鸟,不知道前台如何判断,代码写在前台哪里,请高手指点!
 protected void LinkButton2_Click(object sender, EventArgs e)
  {
  Session["date"] = Convert.ToInt32(Session["date"]) - 10;
  if (Convert.ToInt32(Session["date"]) > 0)
  {
  -----创建一个表格
  }
  else
  {
  Response.Write("<script>alert('当前已是最后一页!')</script>");
  return;
  }

  }

------解决方案--------------------
C# code

protected void LinkButton2_Click(object sender, EventArgs e) 
    { 
        Session["date"] = Convert.ToInt32(Session["date"]) - 10; 
        if (Convert.ToInt32(Session["date"]) > 0) 
        { 
            -----创建一个表格 
        } 
        else 
        { 
            this.LinkButton1.OnClientClick = "return alert('当前已是最后一页!')";
            return; 
        } 

    }

------解决方案--------------------
一旦点击LinkButton2则引发LinkButton2_Click事件,不管你条件成立与否,都会刷新页面,服务器
控件就是这样,没办法!

所以现在只能在你点击button引发事件前判断!在button的onclientclick事件里写"return check();":
function check()
{
var d = <%=Session["date"].ToString()%>;//直接传递你的session过来,如果传不过来
//在cs里定义个protected的变量,把session的值得赋给此变量,这里用<%=变量%>就能传过来了
if(d-10 > 0) return true;
else return false;
}
button