一区二区久久-一区二区三区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)系我們修改或刪除,多謝。

主站蜘蛛池模板: xxxxx国产 | 韩国一级毛片在线高清免费 | 亚洲最大色网 | 福利视频一区青娱 | 18女人腿打开无遮掩免费 | 综合图片亚洲网友自拍10p | 国产精品久久久99 | 中文字幕久久久久久精 | 麻豆精品密在线观看 | 黄色免费网站在线 | 日韩经典欧美精品一区 | 久久伊人热精品老鸭窝 | 天天躁日日躁成人字幕aⅴ 天天躁日日躁狠狠躁中文字幕老牛 | 久久精品中文字幕一区 | 亚洲成人91 | 国产一级久久免费特黄 | 国产区网址 | 久久国产精品国语对白 | 欧美一欧美一区二三区性 | 一色屋色费精品视频在线看 | 一道精品视频一区二区三区男同 | 久久精品94精品久久精品 | 亚洲高清一区二区三区四区 | 国产福利微拍精品一区二区 | 久久99国产精品二区不卡 | 成人激情站 | 精品久久看 | 亚洲视频四区 | 一区二区高清视频 | 激情四房 | 国产91九色在线播放 | 91原创视频在线观看 | 亚洲图色在线 | 色综合久久九月婷婷色综合 | 精品一区二区三区四区乱码 | 黄网在线观看网址入口 | 欧美成人一级视频 | 婷婷影院在线综合免费视频 | 在线视频www | 久久成| 97久久人人|