2009-04-29 32 views

回答

2

剛剛送走我的頭頂,我會反對這樣做的原因有兩個:

1)設計氣味 2)它掩蓋了真正的情況

#1,我這樣說因爲爲了處理它的數據綁定事件,它必須已經開始綁定到某些東西。改變它在流媒體中的約束力並不是我所說的理想設計。

這導致了#2,因爲如果有人創建了你的控件之一,並且調用了.DataBind(),並且它在內部開始綁定到其他東西,那麼調用者完全不清楚發生了什麼。

雖然我沒有從技術的角度看待它,但在我看來,你會提高遞歸數據綁定無限循環的可能性。我想我真的需要看一些代碼來判斷你所做的事是否可以接受,或者如果有更好的方法去做。

+0

我明白你的意思#1。 對於#2 ...我沒有這樣做我的UserControls,但對我的網頁上的常規ASP.NET WebControls。對於我的UserControls,我會創建一個新的事件「NeedDataSource」(如Telerik控件所具有的),如果在調用DataBind時DataSource爲null,則會引發此事件。 – 2009-04-29 20:09:21