Page.IsPostBack 是什么作用?

yangjinhui 2008-04-09 09:11:03
我现在做一个程序,如果程序没有按正常登录,就让他返回首页,出现了两种方法:
这是我的方法:

if (!Page.IsPostBack)
{
if (Session["flag"] == null || Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
DataLoad();
}

这是我见到的方法:

if (Session["flag"] == null || Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
if (!Page.IsPostBack)
{
DataLoad();
}
请问有什么区别 ?
...全文
1758 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
open666111 2010-10-05
  • 打赏
  • 举报
回复
不错的 学习了
StillMiss 2010-10-04
  • 打赏
  • 举报
回复
对我有帮助
地下室小红叔 2008-04-09
  • 打赏
  • 举报
回复
如上 就那意思
大宇_ 2008-04-09
  • 打赏
  • 举报
回复

获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。
如果是为响应客户端回发而加载该页,则为 true;否则为 false
youthkin 2008-04-09
  • 打赏
  • 举报
回复
判断是否第一次执行
tss1011 2008-04-09
  • 打赏
  • 举报
回复
判断回发
JL99000 2008-04-09
  • 打赏
  • 举报
回复
这是我的方法:
if (!Page.IsPostBack)
{
if (Session["flag"] == null ¦ ¦ Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
DataLoad();
}
--首先解释这个,
!Page.IsPostBack他的作用是判断当前时候是第一次加载页面
如果你用上面的来实现你的功能,应该是这样的作用:
首先,我第一次加载页面时执行
if (Session["flag"] == null ¦ ¦ Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
DataLoad();
满足条件时跳转到登陆页面,并且加载数据
其次,当你在页面上操作的时候,比如点击按扭,这时将不会在执行 if (!Page.IsPostBack)()的代码



这是我见到的方法:

if (Session["flag"] == null ¦ ¦ Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
if (!Page.IsPostBack)
{
DataLoad();
}
--
而这段代码的是每次有页面上的请求(如按扭点击)时,都会执行
if (Session["flag"] == null ¦ ¦ Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
而加载数据 DataLoad();只有在第一次加载页面时才执行

---
我的建议,应该用后者
首先,你用session来做为判断条件,session是有周期限制的(即一段时间会过期),当过期后应该跳到登陆页面
avrilxu 2008-04-09
  • 打赏
  • 举报
回复
判断页面是否第一次加载
changjiangzhibin 2008-04-09
  • 打赏
  • 举报
回复
上面的做法是先判断是否回发,再判断是否是合法用户;
下面的做法是:先判断当前是不是合法用户,不是就转登录页,再判断是否回发;
区别不大;
yitian130 2008-04-09
  • 打赏
  • 举报
回复
////////////////////////////////////////////////////////////////////////////////////////////

if (Session["flag"] == null ¦ ¦ Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
if (!Page.IsPostBack)
{
DataLoad();
}



//这个不管页面的加载是第一次加载,还是由于Asp.Net服务器控件回传造成的,都判断用户是否登陆,要是没登陆的话,就指向对应的页面

yitian130 2008-04-09
  • 打赏
  • 举报
回复

Page.IsPostBack //是判断页面是否回传

if (!Page.IsPostBack)
{
if (Session["flag"] == null ¦ ¦ Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
DataLoad();
}

//这个只有在页面第一次加载的时候才会执行


////////////////////////////////////////////////////////////////////////////////////////////

if (Session["flag"] == null ¦ ¦ Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
if (!Page.IsPostBack)
{
DataLoad();
}

//这个不管页面的加载是第一次加载,还是由于Asp.Net服务器控件回传造成的都判断用户是否登陆,要是没登陆的话,就指向对应的页面
liubin911 2008-04-09
  • 打赏
  • 举报
回复
是判断页面是否是死一次刷新=>是判断页面是否是第一次刷新
liubin911 2008-04-09
  • 打赏
  • 举报
回复
if (!Page.IsPostBack) 是判断页面是否是死一次刷新
下面的方法
页面每次刷新时都执行
if (Session["flag"] == null ¦ ¦ Session["flag"].ToString() != "ok")
{
Response.Redirect("../Login.aspx");
}
第一次刷新执行 DataLoad();



上面的方法是第一次刷新执行
一品梅 2008-04-09
  • 打赏
  • 举报
回复
有区别
exiori 2008-04-09
  • 打赏
  • 举报
回复
回发判断。
dcbr4 2008-04-09
  • 打赏
  • 举报
回复
判断是首次访问页面还是回复服务器
jxdyzwh 2008-04-09
  • 打赏
  • 举报
回复
判断页面是否第一次加载

62,046

社区成员

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

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

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

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