if (!IsPostBack)疑问?
IsPostBack的疑问,代码如下:if(!IsPostBack){dateshow();}我知道if(!IsPostBack)代表的是第一次或者不是响应管户端请求,如...
IsPostBack的疑问,代码如下:
if (!IsPostBack)
{
dateshow();
}
我知道if (!IsPostBack)代表的是第一次或者不是响应管户端请求,
如果dateshow();作用是显示数据库内容的方法函数。
那么这样的语句代表第一次访问显示数据,那么如果第二次或者以后访问不调用函数,那不是显示不到数据了吗?
但我看到网上好多代码显示数据库内容还都是这么写的,请问高手能否给我讲解一下其中的工作原理 展开
if (!IsPostBack)
{
dateshow();
}
我知道if (!IsPostBack)代表的是第一次或者不是响应管户端请求,
如果dateshow();作用是显示数据库内容的方法函数。
那么这样的语句代表第一次访问显示数据,那么如果第二次或者以后访问不调用函数,那不是显示不到数据了吗?
但我看到网上好多代码显示数据库内容还都是这么写的,请问高手能否给我讲解一下其中的工作原理 展开
4个回答
展开全部
IsPostBack 中文意思:是回发。就是记录客户端有没有提交表单过来。最浅显的理解,多了反而晕。IsPostBack 跟第一次访问,第二次访问,第三次访问都没什么关系,主要是标记一下,你这次请求是不是提交表单的请求。
IsPostBack -- 回发:哦,客户端提交了表单,我应该怎么处理?接收表单参数,存入数据库,提示成功。
!IsPostBack -- 不是回发:哦,客户端是新访问的,OK,那我显示个空的表单页面让他填。
IsPostBack -- 回发:哦,客户端提交了表单,我应该怎么处理?接收表单参数,存入数据库,提示成功。
!IsPostBack -- 不是回发:哦,客户端是新访问的,OK,那我显示个空的表单页面让他填。
追问
获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.ispostback(v=vs.80).aspx
上面是官方的文档呀,确实是代表是否被首次加载的意思呀
如果一台客户端访问服务器上的一个页面编译完成之后,另一台客户端再访问同一个页面提时候,是直接显示第一次编译的内容,还是再重新编译一次后,显示给第二个客户端?
追答
客户端跟客户端之间没有影响,第一个客户端什么样子,第二个客户端就什么样子
展开全部
if (!IsPostBack){
这里主要是放一些初期化的东西,比如您所指的访问DB
}
一般情况下,频繁的访问数据库会影响性能的,所以,一般在初期化能得到数据,就放在{}中取得,如果想要在POSTBACK的情况的保存的话,可以利用SESSION等进行保存,再用的时候去session去取
这里主要是放一些初期化的东西,比如您所指的访问DB
}
一般情况下,频繁的访问数据库会影响性能的,所以,一般在初期化能得到数据,就放在{}中取得,如果想要在POSTBACK的情况的保存的话,可以利用SESSION等进行保存,再用的时候去session去取
追问
但是!IsPostBack代表第一次访问,如果将数据放在这里面,第二次访问的时候如果获取数据呀?
.net的工作原理之后,是一个页面编译一次之后,以后再访问该页的时候,就显示第一次编译的内容吗?
还有一个问题,如果一台客户端访问服务器上的一个页面编译完成之后,另一台客户端再访问同一个页面提时候,asp.net的工作原理是直接显示第一次编译的内容,还是再重新编译一次后,显示给第二个客户端?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般网页都会启用缓存,这样写的目的可以保留上一次的状态。如果没有启用缓存,那么就需要每次都执行加载数据的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是不显示,而是维持上次的显示内容。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询