请教登录程序,在线等。

winapp 2003-10-15 02:43:00
做了一个登录程序,我在page2的Page_Load事件中写入程序验证一个会话变量。所以不能直接输入网址访问page2,只有在page1登录后才可以进入到 page2,但是我注销后再直接输入page2的网址就可以直接访问Page2了,原因是这样没有触发Page2的Page_Load事件!我该怎么办啊?
...全文
105 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
ninesong 2003-10-29
  • 打赏
  • 举报
回复
mark
hillseok 2003-10-17
  • 打赏
  • 举报
回复
关注ing, slinfo() 的方法我也试过,可是每次总是定在登陆页,无法跳转了,如果能写详细点,感觉应该是最好的方法
winapp 2003-10-17
  • 打赏
  • 举报
回复
lbzq找到了麻烦告诉我一声!
icd 2003-10-17
  • 打赏
  • 举报
回复
onrender事件呢
lbzq 2003-10-17
  • 打赏
  • 举报
回复
在aspx编辑页的左下点html在head中间加入
<META http-equiv="content-type" content="no-cache">
或者在head与body之间加入
<%response.expires=0 %>
这个不能保证完全有效。我也正在找有没有更好的方法。
tohen 2003-10-17
  • 打赏
  • 举报
回复


if session("user")=null then
end if
winapp 2003-10-17
  • 打赏
  • 举报
回复
我搞定了!就是slinfo()的方法!
只是在buttonke点击事件Redirect到其它页面之前先用
Systerm.Web.Security.FormsAuthentication.RedirectFromLoginPage(User_Id,false);就可以了!
注销用Systerm.Web.Security.FormsAuthentication.SignOut();
lyhold 2003-10-17
  • 打赏
  • 举报
回复
但是这样你试试
{
if (Session["User"].ToString()!="" )
{
Session.Remove("User");
Session.RemoveAll();
Session.Abandon();

}
lyhold 2003-10-17
  • 打赏
  • 举报
回复
我也碰到着个问题
winapp 2003-10-17
  • 打赏
  • 举报
回复
我也是,无法跳转,不知道怎么回事。
winapp 2003-10-16
  • 打赏
  • 举报
回复
是不是该禁止对页面缓存,用no-cache,具体该怎么做啊?
winapp 2003-10-16
  • 打赏
  • 举报
回复
我刚才重新建了一个工程共2个网页又试了一次,的确没有触发Page_Load事件,大家可以试一试。建立page1、page2,它们上面各有一个按钮实现相互重定向。通过page1上的按钮转到page2,再拷贝下page2的网址,然后点击按钮定向到page1,这时输入拷贝的刚才访问了的page2的网址,回车,你就会发现根本没有触发page2的page_load事件。我也就无重验证了,别人又能看见page2了,怎么办啊?
是不是要用到JavaScript啊?
winapp 2003-10-16
  • 打赏
  • 举报
回复
上面有点错
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (Session["id"] == null )||((Stirng)Session["id"] == "0"))
{
Response.Write(PAGE_NOLOG);
}
}
//我是把id设置为0,表示未登录
duanxl 2003-10-16
  • 打赏
  • 举报
回复
==改成Equals()
winapp 2003-10-16
  • 打赏
  • 举报
回复
freexin(小昕) ,你说的那段代码我的页面上当然有。
代码:

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (Session["id"] == null String)||((Stirng)Session["id"] == "0"))
{
Response.Write(PAGE_NOLOG);
}
}
//我是把id设置为0,表示未登录
freexin 2003-10-16
  • 打赏
  • 举报
回复
// 程序有没有这一段?

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
mjzcyber 2003-10-16
  • 打赏
  • 举报
回复
我想你可以试试在每个页面的page_load里边最顶端写:
if(Session["asdf"]== null)
{
Response.Redirect("登陆页面!");
}
试试看!
duanxl 2003-10-16
  • 打赏
  • 举报
回复
你的注销是怎么做的?原因应该是注销没有作彻底。
icyer 2003-10-16
  • 打赏
  • 举报
回复
本来每次访问都会触发OnLoad事件(一般都处理到Page_Load函数),不会说第一次有触发,第二次就没了的
可能是你程序验证逻辑的错误,能否贴出一些代码
winapp 2003-10-15
  • 打赏
  • 举报
回复
不是啊,我是希望每次显示PAGE2的时候都触发page_load事件,否则怎么验证啊?
加载更多回复(10)

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧