2009-11-06 71 views
0

我找了一些例子,不能瞭解以下內容:用戶控件與物業內的ItemTemplate

有一個gridview,它裏面的ItemTemplate是使用控制:

<asp:TemplateField> 
    <ItemTemplate> 
    <%# Eval("Title") %> 
    <uc:IdBox id="Idbox1" runat="server" TheID='<%# Eval("ID") %>' ShowHeader="True" /> 
    </ItemTemplate> 
</asp:TemplateField> 

還有的ObjectDataSource連接到gridview。

我的問題是爲什麼TheID='<%# Eval("ID") %>'調用public override void DataBind()在此用戶控制代碼後面被覆蓋?

我認爲這個值的計算就像ObjectDataSource連接到gridview一樣,這個TheID屬性應該從ObjectDataSource中獲取值。

爲什麼需要調用用戶控件的DataBind()?

更新:

如果我使用用戶控件沒有屬性:

<uc:IdBox id="Idbox1" runat="server" ShowHeader="True" /> 

數據綁定()不會被調用。

回答