我正在使用UpdatePanel中的GridView並使用DataSourceID屬性對ObjectDataSource執行數據綁定。除了在對象源中執行數據驗證並從Update中返回false
以外,一切正常。我使用它來設置GridView中另一個控件的內容和可見性。但是,這從來沒有出現,因爲即使EnableViewState = "true"
(通過BaseDataBoundControl),GridView在OnPreRender()
中執行隱藏的DataBind()
。爲什麼Asp.Net WebForms GridView在OnPreRender()中執行未詢問的DataBind()?
有沒有簡單的方法可以將這種無關的DataBind()
關閉?我已經使用了反射來將BaseDataBoundControl中的_requiresDataBind
字段設置爲false
,並且我希望它能夠正常工作,但這不是一種有生產價值的方法。子類化GridView是唯一的方法嗎?我只是想念一些東西?