页面加载顺序问题

问题描述

前台代码<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ConnectionStrings:KnowledgeConnectionString%>"SelectCommand="SELECTBitOrder,NameFROMKB.AreaorderbyBitOrder"></asp:SqlDataSource><asp:CheckBoxListID="AreaList"runat="server"RepeatDirection="Horizontal"AppendDataBoundItems="True"DataSourceID="SqlDataSource1"DataTextField="Name"DataValueField="BitOrder"></asp:CheckBoxList>

后台代码protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){LoadNodeInformation();//加载节点信息}}protectedvoidLoadNodeInformation(){for(inti=0;i<AreaList.Items.Count;i++){//业务逻辑}}protectedvoidSaveButton_Click(objectsender,EventArgse){inti=AreaList.Items.Count;}

问题来了,LoadNodeInformation方法里面的AreaList.Item.Count的指为0,但是在SaveButton_Click方法里面AreaList.Item.Count的指是非0的,请教达人,这个是什么问题,难道是调用LoadNodeInformation方法时AreaList还没有动态加载?

解决方案

解决方案二:
不是很明白。。这个AreaList多选页面加载时默认有没选择的?SaveButton_Click点击时是不是已经选择了?
解决方案三:
if(!IsPostBack){}把这个去掉试试
解决方案四:
点击SaveButton时,触发SaveButton_Click事件,但之前肯定是要执行Page_Load()的。也就是每次页面加载时(注意:这个加载是指在服务器端每次为你动态重新构建一个新的页面时),Page_Load都会执行。当点击SaveButton时,进入Page_Load,这时IsPostBack为true,那么就会绕过LoadNodeInformation()方法。
解决方案五:
引用3楼namhyuk的回复:

点击SaveButton时,触发SaveButton_Click事件,但之前肯定是要执行Page_Load()的。也就是每次页面加载时(注意:这个加载是指在服务器端每次为你动态重新构建一个新的页面时),Page_Load都会执行。当点击SaveButton时,进入Page_Load,这时IsPostBack为true,那么就会绕过LoadNodeInformation()方法。

我是希望当页面第一次加载的时候LoadNodeInformation()方法就能够获取到AreaList.Item.Count的值这个有什么方法实现吗?to:drik尝试过你说的方法,页面在第一次加载同样是获取不到AreaList.Item.Count的值,只有第二次才能获取到
解决方案六:
if(!IsPostBack){LoadNodeInformation();//加载节点信息}第一次加载页行执行.以后怎么刷新也不会执行.所以你下边的值才会变..因为当刷新页面时.系统会自己动释放掉一些信息....所以每次执行操作都得重新绑定数据源.
解决方案七:
感觉第二次没绑定。呵呵。
解决方案八:
感谢各位,问题已经解决因为我的CheckBoxList是绑定SqlDataSource,当页面第一次加载的时候,CheckBoxList还没有绑定SqlDataSource解决办法,在Page_Load方法里面添加一个BindCheckBoxList()方法,用程序实现数据源绑定

时间: 2024-11-08 23:03:20

页面加载顺序问题的相关文章

解析页面加载与js函数的执行

 这篇文章主要介绍了页面加载与js函数的执行 onload or ready 需要的朋友可以过来参考下,希望对大家有所帮助 首先,页面加载顺序: 解析HTML结构. 加载外部脚本和样式表文件. 解析并执行脚本代码. 构造HTML DOM模型. 加载图片等外部文件. 页面加载完毕.   也就是: html → head → title → #text(网页标题) → style → 加载样式 → 解析样式 → link → 加载外部样式表文件 → 解析外部样式表 → script → 加载外部脚本

解析页面加载与js函数的执行 onload or ready_jquery

首先,页面加载顺序:解析HTML结构.加载外部脚本和样式表文件.解析并执行脚本代码.构造HTML DOM模型.加载图片等外部文件.页面加载完毕. 也就是:html → head → title → #text(网页标题) → style → 加载样式 → 解析样式 → link → 加载外部样式表文件 → 解析外部样式表 → script → 加载外部脚本文件 → 解析外部脚本文件 → 执行外部脚本 → body → div → script → 加载脚本 → 解析脚本 → 执行脚本 → img

Javascript在网页页面加载时的执行顺序

javascript|加载|网页|页面|执行 一.在HTML中嵌入Javasript的方法 直接在Javascript代码放在标记对<script>和</script>之间 由<script />标记的src属性制定外部的js文件 放在事件处理程序中,比如:<p >点击我</p> 作为URL的主体,这个URL使用特殊的Javascript:协议,比如:<a href="javascript:alert('我是由javascript

jsp页面中的代码执行加载顺序介绍

 本篇文章主要是对jsp页面中的代码执行加载顺序进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1. java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码.所以加载执行顺序是是java>jsp>js.   2. js在jsp中的加载顺序   页面上的js代码时html代码的一部分,所以页面加载的时候是由上而下加载.所以js加载的顺序也就是页面中<script>标签出现的顺序.<scrip

Javascript代码在页面加载时的执行顺序介绍_基础知识

一.在HTML中嵌入Javasript的方法1.直接在Javascript代码放在标记对<script>和</script>之间2.由<script />标记的src属性制定外部的js文件3.放在事件处理程序中,比如:<p onclick="alert('我是由onclick事件执行的Javascript')">点击我</p>4.作为URL的主体,这个URL使用特殊的Javascript:协议,比如:<a href=&q

jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较_jquery

想要添加这个效果,先来弄明白页面的加载和事件执行顺序,看这个简单例子: <html xmlns="http://www.w3.org/1999/xhtml"> <head > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>验证加载顺序</title> <script src=

jsp页面中的代码执行加载顺序介绍_JSP编程

1. java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码.所以加载执行顺序是是java>jsp>js. 2. js在jsp中的加载顺序 页面上的js代码时html代码的一部分,所以页面加载的时候是由上而下加载.所以js加载的顺序也就是页面中<script>标签出现的顺序.<script>标签里面的或者是引入的外部js文件的执行顺序都是其语句出现的顺序,其中js执行的过程也是页面装载的一部分. 2

浅析页面内容加载顺序的方法

很多时候,我们都想确认页面内容:html标签.css.js.图片等元素的加载顺序. 现在的浏览器基本都自带调试工具,下面就介绍下用chrome浏览器正确查看页面内容加载顺序的方法: F12打开开发人员工具,点击[Network](网络)的tab切换到页面元素加载内容查看标签,这里需要说明的是:在该面板未激活时的任何请求都不会被显示,这就是为什么 我们初始看到面板展示的是一片空白啦!要想查看页面内容加载顺序,必须重新加载下页面(f5,或保险起见ctrl+f),这样就可以快速查看到页面各内容加载顺序

前端性能优化:Javascript的加载顺序

文章简介:35条Javascript最佳实践. 相信很多与页面打过交道的同学都对 Yahoo 的 Best Practices for Speeding Up Your Web Site 不陌生.而这 35 条最佳实践中,对 Javascript 的加载顺序的要求是:Put Scripts at the Bottom.因为根据HTTP/1.1 specification 看来,在同一时间加载两个文件是最理想的,而 Javascript 脚本会阻碍平行下载.Steve 说那是 2008 – 200