我现在用用户空间做了一个登陆框,然后在用户空间里写了以下代码:private void Page_Load(object sender, System.EventArgs e)
{ if(!this.IsPostBack)
{this.Panel2.Visible=false;
this.Panel1.Visible=true;
}// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.txtUser.TextChanged += new System.EventHandler(this.txtUser_TextChanged);
this.btnLogin.Click += new System.EventHandler(this.btnLogin_Click);
this.btnRegister.Click += new System.EventHandler(this.btnRegister_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void txtUser_TextChanged(object sender, System.EventArgs e)
{
}
private void btnLogin_Click(object sender, System.EventArgs e)
{ Session["user"]=this.txtUser.Text;
string loginUser=Session["user"].ToString();
string loginPwd=this.txtPwd.Text;
if(operateClass.operate.selectUser(loginUser)&&operateClass.operate.selectPwd(loginPwd))
{
this.Panel2.Visible=true;
this.lblLoginUser.Text=loginUser;
}
private void btnRegister_Click(object sender, System.EventArgs e)
{
Response.Redirect("register.aspx");
}
当我把用户空间拖到我的新闻主页newsMain.aspx的时候,我在page_load里写了以下代码:Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
string key=Session["user"].ToString();
string user=Convert.ToString(Cache[key]);
if(user==string.Empty)
{
TimeSpan SessTimeout=new TimeSpan(0,0,System.Web.HttpContext.Current.Session.Timeout,120,0);
HttpContext.Current.Cache.Insert(key,key,null,DateTime.MaxValue.AddMinutes(2),SessTimeout,System.Web.Caching.CacheItemPriority.NotRemovable,null);
Session["adminID"]=Session["user"];
Response.Write("newsMain.aspx");
}
else
{
Response.Write("<script>alert('用户名已经登陆');windows.location='newsMain.aspx';</script>");
Response.Redirect("newsMain.aspx");
}
}
代码是用来防止用户重复登陆的,可是我写的时候不对啊,是不是哪里写错了.还是逻辑不对啊.各位高手帮忙看一下: