关于ispostback
大概明白说初次加载的时候,该属性为false,然后可以执行if(!ispostback)下的语句,然后再次回访加载的时候不再执行这段。但是我想说的是,这个只是提高了程序的运行性能和速度吗?比如说if语句里面是绑定数据什么的内容,我如果不强求速度,再次绑定一次,会有什么不妥吗? Ispostback --------------------编程问答-------------------- 主要是为了处理页面控件的回发。如果没有这个判断,就不能区分是初始化还是应该保持控件的状态。 --------------------编程问答-------------------- 举个例子你就明白了前台页面你入了个dropdownlist和button
你在page_load中绑定dropdownlist 值为1,2,3
然后你在前台选择dropdownlist的值为2
然后你点击button,触发button_click后台事件,要获取dropdownlist选中了哪个值
当你的page_load是这样写的:
page_load
{
BindDropDownList();
}
--------------------编程问答-------------------- 你button_click事件中是获取不到前台选择的2的,因为在触发button_click后台事件前,会再次触发page_load,将dropdownlist内的值重绑定回默认的1
只有这样你才能获取到真正选中的值:
page_load
{
if(!IsPostBack)
{
BindDropDownList();
}
}
不信你试一下。 --------------------编程问答--------------------
我不信,于是试了一下,果然很灵。 --------------------编程问答-------------------- 当年做项目时血的教训,说多了都是泪~~ --------------------编程问答--------------------
+1
入门的时候都这样,不过我还算改的快的 --------------------编程问答-------------------- 这个和访问网页的两种方式有关
一个是 get
一个是 post
get就是在地址栏里输入 csdn.net/a.aspx?id=111。然后去访问这个网页
post就是 a.aspx 里面有一个表单 <form> 然后提交表单的访问。
那么在后台如何区分呢?就要用到 isPostBack
post back , yes or no ?
说白了,还是对bs的运作基础不了解。
--------------------编程问答-------------------- 点击了button按钮,是后台click事件先被触发还是pageload先执行? --------------------编程问答--------------------
你应该搞清楚 什么是回发,什么是页面刷新
回发也是经过page_load的,但并不代表他刷新了! --------------------编程问答-------------------- 没有真正理解回发的概念 --------------------编程问答--------------------
禁用掉viewstate还能保持吗? --------------------编程问答--------------------
如果你禁用整个页面的 ViewState,那么你就压根不应该再考虑什么控件事件编程了!
而不使用控件事件编程,是你的本意吗? --------------------编程问答--------------------
这个和访问网页的两种方式有关
一个是 get
一个是 post
get就是在地址栏里输入 csdn.net/a.aspx?id=111。然后去访问这个网页
post就是 a.aspx 里面有一个表单 <form> 然后提交表单的访问。
那么在后台如何区分呢?就要用到 isPostBack
post back , yes or no ?
说白了,还是对bs的运作基础不了解。
其实不是这样的。许多Post访问都不是回发。
对于Post访问,只有当页面上能够找到“上一次输出html时写出去的”__ViewState等信息,才知道是 Postback。否则仍然不是回发。
而对于某些Get访问,例如是按钮设置了的PostUrl而定向来的页面,其 IsPostback 也是 true。
--------------------编程问答--------------------
而对于某些Get访问,例如是按钮设置了的PostUrl而定向来的页面,其 IsPostback 也是 true。
嗯,Sorry,这是不对的。这是Post访问,而不是Get。
例如你用ashx轻量地产生html,或者直接用代码修改aspx的Form目标地址,都会轻易地Post数据到其它aspx。此时 IsPostback 的值都是 false。 --------------------编程问答--------------------
这个和访问网页的两种方式有关
一个是 get
一个是 post
get就是在地址栏里输入 csdn.net/a.aspx?id=111。然后去访问这个网页
post就是 a.aspx 里面有一个表单 <form> 然后提交表单的访问。
那么在后台如何区分呢?就要用到 isPostBack
post back , yes or no ?
说白了,还是对bs的运作基础不了解。
其实不是这样的。许多Post访问都不是回发。
对于Post访问,只有当页面上能够找到“上一次输出html时写出去的”__ViewState等信息,才知道是 Postback。否则仍然不是回发。
而对于某些Get访问,例如是按钮设置了的PostUrl而定向来的页面,其 IsPostback 也是 true。
知道您老是牛人,知道到的多。但是……
对于新手来说,或者对于只是简单的用aspx的人来说,还是不要知道更多的情况的好。
ajax访问,还要用控件吗?还有viewstate吗?还有事件吗?
算了,还是先把单纯的页面访问搞定吧。
补充:.NET技术 , ASP.NET