|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。IsPostBack属性在asp.net中唆使以后的页面是否是第一次被加载,假如是第一次加载,那末IsPostBack的值就即是false,假如不是第一次加载,那末IsPostBack的值就是true。
那末甚么是第一次加载呢?普通一点的讲法就是你从另外一个页面第一次进到这个页面,再大概你对这个页面举行了革新,再大概你在扫瞄器中敲进了这个页面的url地点,然后敲回车键翻开这个网页。
甚么情形下不是第一次加载呢?这个次要是指你在这个页面点击一个服务器控件,然后服务器控件举行回发,将哀求传到服务器处置,这个时分,一样平常情形下,这个页面的一切的元素会被从头加载,这个时分就不是第一次加载了。另有就是你的TextBox的值被改动了,然后你又设置了TextBox的AutoPostBack属性为true。再大概,你页面上的DropDownList的选择项被改动了,而DropDownList控件的AutoPostBack属性也设置为true等等这些举动城市触发页面再次被加载。
那末我们为何要辨别页面是否是第一次被加载呢?一个很复杂的例子,我们的页面有一个DataGrid控件,然后要从数据库中读取良多数据绑定到DataGrid控件上。我们晓得从数据库读取数据是对照耗工夫的,出格是读取大批的数据的时分。而DataGrid控件是能够保持其数据形态的。也就是只需我们一次为DataGrid绑定好数据,页面再次回发后,这些数据是否是消散失落的。如许的话,我们就能够思索只在页面第一次加载的时分为DataGrid绑定命据,页面回发的时分不再从头绑定命据,以加速回发时页面实行速率。
代码以下:
protectedvoidPage_Load(objectsender,EventArgse)
{
//判别是页面第一次加载
if(!IsPostBack)
{
this.DataGrid.DataSource="数据源"
this.DataGrid.DataBind();
}
}
因为二次编译器太复杂,那么建议只是在安装程序的时候编译一次,而不类似java那样运行就编译。并且我觉得,一次痛苦,总比多次低效率要舒服多了。 |
|