学习牛腩新闻发布系统的时候,用到了Page.IsPostBack,现在学习Asp.net的时候又遇到了,有一句话说得好,遇到就是缘分,现在就来看看它到底是怎么回事儿。
Page.IsPostBack用来判断当前网页是否是第一次加载,如果是第一次加载,Page.IsPostBack的值为false,反之,则为true。OK,说完了,看起来很简单。
现在举一个数据绑定的例子来加深一下对它的体会(反例,不进行判断):
首先,我添加一个ListBox控件,有代码如下:
<asp:ListBox ID="ListBox1" runat="server" ></asp:ListBox>
然后,我给它简单的绑定三个值A、B、C,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
ListBox1.Items.Add("A");
ListBox1.Items.Add("B");
ListBox1.Items.Add("C");
}
最后,我添加一个Button控件(属于Web控件),这个按钮是放在form表单中的,单击按钮会引起页面的刷新,ListBox1就会重复的添加ABC。我再添加一个Submit控件(属于HTML控件)放到表单中,单击按钮同样会引起页面刷新,ListBox1还是会重复添加ABC。不过,如果把Submit控件放到表单之外,单击Submit按钮并不会引起重复添加现象,在这种情况下,即便给它加上runat="server"也不会引起页面刷新。
所以,我们需要在页面的Page_Load事件中加以判断:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ListBox1.Items.Add("A");
ListBox1.Items.Add("B");
ListBox1.Items.Add("C");
}
}
感谢您的阅读~