当前位置: 代码迷 >> ASP.NET >> 客户端怎么判断页面是否第一次加载
  详细解决方案

客户端怎么判断页面是否第一次加载

热度:6718   发布时间:2013-02-25 00:00:00.0
客户端如何判断页面是否第一次加载!
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协议是无状态的, 对于客户端来说,所有的页面只加载一次,没有回传

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