我有两个网页,在第一个输入密码正确后才能进入第二个,若打开第二个会自动跳转到第一个。在第二个网页中要显示访问总量。所以要判断是不是第一次进入。可以是!IsPostBack,但是这样刷新就算一次了,我希望刷新不算,想用Session.IsNewSession,但是用断点调试时发现密码进去的不是Session.IsNewSession。我的代码如下,望帮忙修改。 
if (!IsPostBack) 
       {           
         if (Session["UserName"] == null)
            {
                Response.Redirect("3rd.aspx");
            }
            if (Session.IsNewSession)
            {
                Application.Lock();
                Application["count"] = (int)Application["count"] + 1;
                Application.UnLock();
                lblSum.Text = "访问次数:" + Application["count"].ToStrng()
            }
        }
        else
        {
            lblSum.Text = "访问次数:" + Application["count"].ToString();
        ]sessionc#

解决方案 »

  1.   

    既然是会发的网页,你可以使用ViewState,例如    private int 步骤
        {
            get
            {
                var x = ViewState["step"];
                if (x == null)
                {
                    x = 1;
                    ViewState["step"] = x;
                }
                return (int)x;
            }
            set
            {
                ViewState["step"] = value;
            }
        }然后定义你的变量 public static int count;
    public static int Old_x;当回发时,在page_prrerender事件处理过程中将“步骤”+1,然后赋值给old_x变量。在你的过程中,在计算count之前,可以判断“步骤”与old_x的值。如果不相等(小于old_x),说明是刷新的而不是正常提交的。
    当刷新时,“步骤编号”由于是之前的页面提交的,因此
      

  2.   

    当刷新时,“步骤编号”由于是之前的页面提交的,因此必定小于 old_x。