簡體   English   中英

與標記后代碼相比,在標記中聲明數據源的區別?

[英]Difference when declaring a DataSource in markup compared to code-behind?

我有一個舊式解決方案,其中在所有.aspx頁的標記中定義了所有DataSource 我的問題是,由於DataSource已在頁面,控件中使用,因此實例化了幾次。我想要的是讓NInject處理DataSource的實例化,這樣就不會發生。 我已經得到了部分排序的工作,但是當DataSource中的代碼隱藏在標記,而不是被定義Page屬性未在設置DataSource ,沒有人知道為什么嗎?

一個簡單的解決方案是在基類中設置Page屬性,但是我確實認為該屬性應該存在,並且想知道為什么。

設置后必須調用DataBind()

WebControl1.DataSource = something;
WebControl1.DataBind();

它可能與頁面生命周期中的實例化時間有關嗎? 您可以監視(調試)后面代碼中的實例化嗎? 您在后面的代碼中使用哪個回調? 如果您使用后面的控件代碼,則可能尚未設置Page屬性。 因此,請選擇稍后的回調-在控件已添加到某個頁面之后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM