为什么必须在Page_Load()事件里判断IsPostBack属性

baiyongming 2007-12-10 05:33:15
对数据库进行操作时,
有的时候不加IsPostBack判断也可以,
但有的时候非得加才行。
为什么呢,请高手指点一下,谢谢!!!
...全文
108 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
smartbamboo 2009-10-06
  • 打赏
  • 举报
回复
你删除以后重新dg1.databind()
baiyongming 2007-12-13
  • 打赏
  • 举报
回复
谢谢各位,我的代码大致如下,每次我在其他页面删除数据库里的记录,并用Response.Redirect返回时,被删除的记录仍然在DataGrid里显示,当然,实际已经在数据库里被删除了,只是DataGrid没有刷新。
我把If语句删除,仍然没有什么变化。
是不是我的配置有什么问题(我采用的是默认,安装VS后就没有改过什么东西)。
如果是程序的问题,请问怎么更改,谢谢!!!
Sub Page_Load()
If IsPostBack = False Then
Dim strConn As String = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=...“)
Dim Conn As OleDbConnection = New OleDbConnection(strConn)
Conn.Open()

Dim strSQL As String = "Select * From ...."
Dim da As OleDbDataAdapter = New OleDbDataAdapter(strSQL, Conn)
Dim ds As DataSet = New DataSet()
da.Fill(ds, "aa")
Me.dg1.DataSource = ds.Tables("aa").DefaultView
Me.dg1.DataBind()
Conn.Close()
End If
End Sub
wdzr_826 2007-12-10
  • 打赏
  • 举报
回复
作用不同,并且节省网络资源
jayfushuai 2007-12-10
  • 打赏
  • 举报
回复
先要明白IsPostBack的意思
是否是回传,如果为False,表示第一次加载
wangyanyan 2007-12-10
  • 打赏
  • 举报
回复
如果不加!IsPostBack页面Post一次就要执行一次。
lovehongyun 2007-12-10
  • 打赏
  • 举报
回复
这个问题.你只要搞清楚页面的生命周期.

再搞清楚IsPostBack这东西是干嘛的
然后在实际应用中体会体会就明白了.
zhoucaifu 2007-12-10
  • 打赏
  • 举报
回复
UP
fuenpy11 2007-12-10
  • 打赏
  • 举报
回复
if(!ispostback)
只加载一次
if(ispostback)
只要刷新就绑定,
根据需要不同
downmoon 2007-12-10
  • 打赏
  • 举报
回复
第一种
Page_load()
{
SearchData();//执行搜索
if(!IsPostBack)
{
BindData();
}
}
第二种
Page_load()
{
SearchData();//执行搜索
BindData();
}
第二种写法,无论提交什么server端事件,都会SearchData()和BindData();也就是说你即使仅仅想删除一条记录或搜索一条记录,也得把BindData执行一次,尽管BindData与你的删除与搜索毫不相干。

62,041

社区成员

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

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

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

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