本文主要是介绍ASP.NETnbsp;Page.IsPostBack,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有关if (!IsPostBack):
(1)if (!IsPostBack) 里面的代码只执行一遍,即页面第一次加载时。
(2)以后页面重新刷新时,if (!IsPostBack)里面的语句不执行。
(3)首次建立页面 IsPostBack为false,用来控制里边的语句只执行一次。
(4)在对控件进行数据绑定时是必须加上的,因为如果不加的话,每一次响应客户端回发时,总是要执行一次Page_Load(),接着又要执行数据绑定的语句了,如此你不能选择数据了。
例子:
一个页面,一个ListBox控件。一个Label。
初次加载时绑定数据到ListBox控件。
用户选择ListBox的项后,自动在Label中显示选中项的值。
代码:
以下代码是没有Page.IsPostBack的时候
protected void Page_Load(object sender, EventArgs e)
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
此时运行页面,在选中ListBox中的值后Label中无法显示ListBox选中项的值。
因为在ListBox的SelectedIndexChanged(控件中的值被选中)发生后,页面自动向服务器提交表单。
服务器处理后(自动提交后服务器将处理protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e里面的内容)),返回客户端,页面重新读取,此时又会运行Page_Load里面的代码,所以页面又会是第一次加载时候的样子。Label中就不会显示 ListBox中选中项的值。
如果Page_Load换成这样:
if (!Page.IsPostBack)
那么,在服务器处理了SelectedIndexChanged后。客户端将得到提示,这是响应客户端回发而加载。那么,绑定ListBox的代码将不会运行。Label中就能正确显示ListBox选中项的值了!
这篇关于ASP.NETnbsp;Page.IsPostBack的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!