一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

DynamicControl/DynamicField 例外的解決

  在使用 DynamicField / DynamicControl 時(shí),經(jīng)常在PostBack時(shí),會(huì)出現(xiàn)一個(gè)例外:

  The DynamicControl/DynamicField needs to exist inside a data control that is bound to a data source that supports Dynamic Data.

  中文為:

  綁定到支持動(dòng)態(tài)數(shù)據(jù)的數(shù)據(jù)源的數(shù)據(jù)控件內(nèi)必須存在 DynamicControl/DynamicField

 

  具體發(fā)生原因暫時(shí)不太清楚,估計(jì)是PostBack的事件流程和頁(yè)面正常加載不一致。當(dāng)PostBack后,數(shù)據(jù)控件(如DetailsView, GridView, ListView 等)在狀態(tài)加載時(shí), 會(huì)把所有的 Fileds或Columns初始化一次,而這一次,由于數(shù)據(jù)源沒(méi)有綁定,所以找不到相關(guān)的 MetaTable。在這種情況下,DynamicControl 和 DynamicField 都是丟出上述的例外。

  不過(guò),從應(yīng)用上來(lái)看,如果數(shù)據(jù)綁定做的合理的話(比如在InitComplete以前綁定),是不會(huì)出現(xiàn)這個(gè)問(wèn)題的。但是一旦出了這個(gè)問(wèn)題,解決起來(lái)就比較麻煩了,因?yàn)槌3S行┤肆?xí)慣于在Load中綁定數(shù)據(jù),要修改的話,常常會(huì)牽連一大堆的代碼。希望對(duì)這個(gè)問(wèn)題比較了解的朋友多多指教。

  目前我采用的方法,可以不改變?cè)械慕壎鞒蹋梢愿郧暗腅val、Bind等一樣使用,可以讓大家試試。在使用中如有發(fā)現(xiàn)有Bug,請(qǐng)發(fā)郵件告訴我。因?yàn)槲易罱鼛讉€(gè)月都在應(yīng)用 DynamicFieldTemplates 來(lái)開(kāi)發(fā)應(yīng)用程序,對(duì)這些問(wèn)題比較關(guān)心。

  使用這種方法,可以讓一些程序經(jīng)驗(yàn)不足的人,也能避開(kāi)這個(gè)錯(cuò)誤。

  我分別從DynamicControl 和 DynamicField 繼承了新的類 DdControl 和 DdField,然后在初始化時(shí),判斷是否存在MetaTable,如果不存在,則不再初始化。然后,程序中原本所有采用 DynamicControl/DynamicField的地方,都換成DdControl/DdField。

  DdControl/DdField的源碼如下:

namespace Common
{
    
public class DdField : DynamicField
    {
        
public override void InitializeCell(System.Web.UI.WebControls.DataControlFie
ldCell cell, System.Web.UI.WebControls.DataControlCellType cellType, System.
Web.UI.WebControls.DataControlRowState rowState, 
int rowIndex)
        {
            
// HACK: Fix bug for: The DynamicControl/DynamicField needs to exist inside a data control that is bound to a data source
that supports Dynamic Data.

            if (base.Control.FindMetaTable() == null)
                
return;

            
base.InitializeCell(cell, cellType, rowState, rowIndex);
        }

    }
}

NET技術(shù)DynamicControl/DynamicField 例外的解決,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 成年黄网站 | 欧美 日产 国产动漫 | 国产综合色在线视频 | 另类视频色综合 | 久久九九综合 | 人体艺术毛片 | 国产大陆亚洲精品国产 | 免费人成网站永久 | 国产精品青青青高清在线密亚 | 亚洲天堂岛国片 | 天天色天天爱 | 久久全国免费久久青青小草 | 青青草99久久精品国产综合 | 国产永久在线视频 | 欧美另类极品videosbest视频 | 在线观看91精品国产入口 | 婷婷久 | 国内小情侣一二三区在线视频 | 国产精品成人观看视频免费 | 日本一区二区三区久久 | 亚洲伊人色图 | 色多多视频官网 | 国产在线每日更新 | 最近最新中文字幕在线第一页 | 久久精品视香蕉蕉er大臿蕉 | 2020天堂中文字幕一区在线观 | 一区二区三区免费视频网站 | 91精品啪在线观看国产18 | 亚洲肥熟| 久久综合久久久 | 国产成人乱码一区二区三区 | 国产精品二| 中文字幕久久久久久久系列 | 亚洲精品国产专区91在线 | 黄色在线观看视频网站 | 国产精品久久久久久福利69堂 | 国产最强大片免费视频 | 在线国产网站 | 日本一区二区日本免费 | 美女网站色视频 | 91九色麻豆|