ASP.NET 服务器端判断页面是否第一次加载用if(!isPostBack),客户端怎么判断呢?
我写了一个脚本function first()
{
if(!)
{
  var url="images/shouyeclick.gif";
  var img=document.getElementById("shouye");
  img.src=url;
}
}
然后再<body onload="first();">
但我只想在页面第一次加载时运行first();  那么if(!.....)怎么写? 或者有别的办法吗?

解决方案 »

  1.   

    后台判断,然后执行RegisterStartupScript来运行js脚本
    if (!this.IsPostBack)
            {
                this.Page.ClientScript.RegisterStartupScript(...);
            }
      

  2.   

    1楼的 这个没用过,说得具体点,ClientScript.RegisterStartupScript(...)里边有三个参数.怎么写啊,
    function first() 

    if(!) 

      var url="images/shouyeclick.gif"; 
      var img=document.getElementById("shouye"); 
      img.src=url; 

    } 那这个脚本举例子就可以
    要是成功分都给你了!
      

  3.   

     this.Page.ClientScript.RegisterStartupScript(this.GetType(),"aaaa","first()"); 
      

  4.   

    3楼的哥们 不行啊 你那"aaaa",代表什么啊?
      

  5.   

    js里面最好把用户信息如IP记录到cookie
    用cookie来判断是否第一次登录
      

  6.   

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack) 
            { 
                this.Page.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(),"first()",true); 
            }
        }
    function first() 

     
      var url="images/shouyeclick.gif"; 
      var img=document.getElementById("shouye"); 
      img.src=url; 
     

      

  7.   

    在后台的
    声明全局变量public string a="";  //注意a一定是要声明成全局的,是属于“类”的,而不是属于“方法”的
    然后page_load里写:
    if(!isPostBack) a="y";
    else a="n";然后在客户端将变量a读出,就可以判断了。
    客户端aspx可以用类似代码读出a:<%=a%>
      

  8.   

    是否是第一次加载, 只是ASP.NET制造的一个假象, HTTP协议是无状态的, 对于客户端来说,所有的页面只加载一次,没有回传要实现楼主的需求,上面的几位已经给出了相似的例子, 楼子自己琢磨表述就可以了. 
      

  9.   

    真不知道你这个first 有什么啊```