我目前正在使用從DropDownList繼承的控件(它有一些額外的功能與這個問題並不真正相關,但它給了我一個很好的地方來實現我討論的額外內容)。DropDownList:DataTextField,DataValueField ... DataEnabledField?
我們正在使用數據綁定,DataTextField和DataValueField工作得很好。但是,我發現自己需要一個類似的字段來控制是否啓用該項目。 (我已經重寫了控件的RenderContents方法,因此它正確地呈現了未啓用的項目,因爲DropDownList默認不會這樣做。)
因此,我想知道如何重寫DropDownList的數據綁定所以它的行爲與正常情況完全一樣,除了每個DataSource項目的其他字段應用於每個ListItem的Enabled屬性。 (注意:我要綁定的字段不是直接的布爾值,並且沒有顯式/隱式轉換爲布爾值,所以我可能會將它作爲字符串「傳遞」。)
感謝您指點我正確的方向;我現在得到了這個做我想要的:)在調用基礎之後,我假設列表的Items與DataSource IEnumerable的順序相同,但這似乎工作。 – Rawling 2010-06-01 10:20:57
嘿,在檢查Reflector之後,我看到我甚至不需要重寫RenderContents,因爲它實際上關注了Enabled字段 - 我之前測試過的時候一定會搞砸的。 – Rawling 2010-06-01 10:29:36
我很高興你讓它工作:) – Slavo 2010-06-01 10:58:27