第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

net樹結構刷新問題

net樹結構刷新問題

慕運維8079593 2018-12-06 23:49:01
樹結構是分別從4張表里取出來的,全放在viewstate中,數據少沒問題,要是樹的第4層有2000多個節(jié)點,刷一次,頁面就卡死,1分多鐘后正常。創(chuàng)建樹的方法執(zhí)行是3秒中,更改圖片是1秒鐘,首次訪問正常,刷新為什么顯示頁面會卡死啊,1分多鐘后正常。2臺機子都是這樣,刷新我只執(zhí)行了換圖片的方法,快救人啊 在pageload中的 if(!ispostback) { ? ........ ? createTreeView() //createTreeView()中再調用二級節(jié)點的方法,依此類推,共4層 } else { //用timer控件,每1分鐘刷一次,更新樹的圖片 ?? UpdateTreeViewImg(); } ? ? private void UpdateTreeViewImg()??? { ?????? ?List<Model.c_unend_alarm> sAlarmList = new List<Model.c_unend_alarm>();??????? sAlarmList = TreeBll.GetUnendAlarm();??????? foreach (TreeNode tn_area in this.TreeView1.Nodes)??????? {??????????? string aid = (tn_area.Value).ToString();??????????? foreach (TreeNode tn_group in tn_area.ChildNodes)??????????? {??????????????? int a = 0;??????????????? foreach (TreeNode tn_bureau in tn_group.ChildNodes)??????????????? {??????????????????? int b = 0;??????????????????? foreach (TreeNode tn_device in tn_bureau.ChildNodes)??????????????????? {??????????????????????? int c = 0;??????????????????????? string b_dID = (tn_device.Value).ToString();??????????????????????? string[] arry = b_dID.Split('*');??????????????????????? for (int i = 0; i < sAlarmList.Count; i++)??????????????????????? { ??????????????????????????? if (Convert.ToInt32(arry[0]) == sAlarmList[i].Device_id && Convert.ToInt32(arry[1]) == sAlarmList[i].Bureau_id && Convert.ToInt32(aid) == sAlarmList[i].Area_id)??????????????????????????? {??????????????????????????????? tn_device.ImageUrl = "Web_Img/Alarm/red.gif";??????????????????????????????? tn_bureau.ImageUrl = "Web_Img/Alarm/red.gif";??????????????????????????????? tn_group.ImageUrl = "Web_Img/Alarm/red.gif";??????????????????????????????? a++;??????????????????????????????? b++;??????????????????????????????? c++;??????????????????????????????? break;??????????????????????????? }??????????????????????? }??????????????????????? if (c == 0)??????????????????????? {??????????????????????????? tn_device.ImageUrl = "Web_Img/Alarm/green.gif";??????????????????????? }??????????????????? }??????????????????? if (b == 0)??????????????????? {??????????????????????? tn_bureau.ImageUrl = "Web_Img/Alarm/green.gif";??????????????????? }??????????????? }??????????????? if (a == 0)??????????????? {??????????????????? tn_group.ImageUrl = "Web_Img/Alarm/green.gif"; ??????????????? }??????????? }??????? } } ? ?public void CreateTree()??? {??????? List<Model.c_area_info> Arealist = (List<Model.c_area_info>)ViewState? ["Arealist"]; ?????????????????????? for (int i = 0; i < Arealist.Count; i++)??????? {??????????? Model.c_area_info AreaModel = new Model.c_area_info();??????????? AreaModel = Arealist[i];??????????? TreeNode Fnode = new TreeNode();??????????? Fnode.Text = (AreaModel.Area_name).ToString();??????????? Fnode.Value = (AreaModel.Area_id).ToString();??????????? Fnode.Target = "right";??????????? ??????????? this.TreeView1.Nodes.Add(Fnode);??????????? CreateChildNode(Convert.ToInt32(Fnode.Value), Fnode);??????? }??? }
查看完整描述

7 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

創(chuàng)建node的時候設置value值,然后用tree的FindNode方法,按需更新。

查看完整回答
反對 回復 2019-01-21
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

不要這樣來處理, 用ajax從服務器取得要更新的內容, 用javascript來更新

查看完整回答
反對 回復 2019-01-21
?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

msdn對viewstate性能的:

必要時保存服務器控件視圖狀態(tài) 自動視圖狀態(tài)管理使服務器控件可以在往返行程中重新填充它們的屬性值,而您不需要編寫任何代碼。但是,因為服務器控件的視圖狀態(tài)在隱藏的窗體字段中往返于 服務器,所以該功能影響性能。了解在哪些情況下視圖狀態(tài)會有所幫助,在哪些情況下它影響頁的性能,這樣是有幫助的。例如,如果您將服務器控件綁定到每個往 返行程上的數據,因為控件的值會在數據綁定期間用新值替換,所以保存的視圖狀態(tài)沒有用處。在這種情況下,禁用視圖狀態(tài)可以節(jié)省處理時間并減少頁的大小

?

從上面,lz應該知道2000多條數據不做任何處理放在viewstate里面,對于頁面數據傳輸及其處理是有多大的壓力,建議樓主用以下幾種方案解決:

?一壓縮viewstate的數據。

?二用ajax異步讀取數據,而不是所有的都讀出來放在viewstate中

查看完整回答
反對 回復 2019-01-21
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

想進一步了解下,在我樹形結構創(chuàng)建完后,我就不需要viewstate里的數據了,那我可以把viewstate里清空嗎?
查看完整回答
反對 回復 2019-01-21
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

ViewState很慢的 用js吧

查看完整回答
反對 回復 2019-01-21
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

嵌套了這么多的循環(huán),又是樹結構不卡才怪呢,建議每次只讀取一級節(jié)點,當用戶點擊根節(jié)點展開的時候再讀取該節(jié)點下的內容,也就是點什么,加載什么,這樣子的話就不會你這么卡了,另外可以多用前臺腳本去弄,減少FWQ端的壓力

查看完整回答
反對 回復 2019-01-21
?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

嵌套的循環(huán)是找節(jié)點下的子節(jié)點,有與數據庫匹配的節(jié)點就換圖片,要求就是要1分鐘刷一次。要是我把節(jié)點全點開了,數據庫有了新的數據,那你這方法就更新不了圖片了
查看完整回答
反對 回復 2019-01-21
  • 7 回答
  • 0 關注
  • 473 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號