나는 몇 가지 예제를 찾고 이해할 수없는 다음UserControl을 내부 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()를 호출해야합니까?
갱신 :
내가 재산없이 UserControl을 사용하는 경우 :
<uc:IdBox id="Idbox1" runat="server" ShowHeader="True" />
데이터 바인딩()가 호출되지 않습니다.