2012-08-14 42 views
2

我有一個很老的滴答器:無論何時爲Repeater設置數據源,我總是先將它設置爲null。在更改源代碼之前將空值分配給中繼器的數據源

this.rptMyRepeater.DataSource = null; //is this line necessary? 
this.rptMyRepeater.DataSource = pNewSource; 
this.rptMyRepeater.DataBind(); 

我甚至不記得我爲什麼開始這樣做,但我敢肯定,我有數據綁定對象無法正常結合,如果我不先分配空相關的一些難看的問題。

年過去了,新的框架版本來了,也許這是一些老的bug或也許我是完全錯誤的。

是否需要在設置之前將空值賦給數據綁定對象的DataSource屬性?

+0

爲什麼不嘗試它,看看結果產量..? – MethodMan 2012-08-14 21:19:24

+0

@DJKRAZE如果我嘗試沒有這條線,它會工作(我suposse),但我認爲我有罕見和有條件的情況下,所以單個測試不會回答我的問題的問題。 – daniloquio 2012-08-14 21:22:56

+0

它並沒有傷害它設置/分配變量爲null個人我認爲這是一件好事,但這只是我自己的個人編碼風格和或偏好 – MethodMan 2012-08-14 21:24:56

回答

0

在閱讀完評論後,Ray Cheng評論了Jeppe的回答,並等待有證據證明這個問題是必要的,我得出的答案是否定的,在重新分配數據源之前將null指定給DataSource並不是必須的。

1

我看不到什麼null分配將是一件好事,當你要重新分配相同的成員在未來的線。

DataSourceset訪問,介紹有趣的副作用的屬性?

+0

取決於綁定源,設置'DataSource'屬性可能觸發其他事件觸發。在我看來,這不是一個好設計。 http://msdn.microsoft.com/en-us/library/system.windows.forms.listcontrol.datasource(v=vs.100).aspx – 2012-08-14 21:48:45

+0

@RayCheng我沒有'System.Web.UI.WebControls的經驗.Repeater'(也許我不應該發送回答),但是如果你說它設計的很差,我不排除當你設置屬性兩次時類會表現「更好」的可能性:-( – 2012-08-14 22:04:27