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

客户端如何判断页面是否第一次加载!
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(!.....)怎么写? 或者有别的办法吗?

------解决方案--------------------
后台判断,然后执行RegisterStartupScript来运行js脚本
if (!this.IsPostBack)
{
this.Page.ClientScript.RegisterStartupScript(...);
}
------解决方案--------------------
this.Page.ClientScript.RegisterStartupScript(this.GetType(),"aaaa","first()"); 

------解决方案--------------------
js里面最好把用户信息如IP记录到cookie
用cookie来判断是否第一次登录
------解决方案--------------------
C# code
protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack) 
        { 
            this.Page.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(),"first()",true); 
        }
    }

------解决方案--------------------
在后台的
声明全局变量public string a=""; //注意a一定是要声明成全局的,是属于“类”的,而不是属于“方法”的
然后page_load里写:
if(!isPostBack) a="y";
else a="n";

然后在客户端将变量a读出,就可以判断了。
客户端aspx可以用类似代码读出a:<%=a%>
------解决方案--------------------
是否是第一次加载, 只是ASP.NET制造的一个假象, HTTP协议是无状态的, 对于客户端来说,所有的页面只加载一次,没有回传

要实现楼主的需求,上面的几位已经给出了相似的例子, 楼子自己琢磨表述就可以了.