ถ้าหากเราเลือกใช้ databound controls เช่น Object Datasouce หลายๆตัวซ้อนๆกัน บางครั้งอาจจะเกิดปัญหาอย่าง code ด้่านล่างนี้
<asp:ObjectDataSource ID="ods" runat="server" SelectMethod="GetData" TypeName="DataObject1">
<SelectParameters>
<asp:Parameter Name="Id" DefaultValue='<%# Eval("Id") %>' />
</SelectParameters>
</asp:ObjectDataSource>
ถ้าเราเขียน code แบบนี้ก็จะเกิด Error
Databinding expressions are only supported on objects that have a DataBinding event. System.Web.UI.WebControls.Parameter does not have a DataBinding event.
วิธีการแก้ไข อาจจะจะต้องสร้าง controls เพื่อนำมาเป็น temp แล้ว binding controls ให้กับ parameter
<asp:TextBox runat="server" ID="txtId" Visible="false" Text='<%# Eval("Id") %>' />
<asp:ObjectDataSource ID="ods" runat="server" SelectMethod="GetData" TypeName="DataObject1">
<SelectParameters>
<asp:ControlParameter Name="Id" ControlID="txtId" PropertyName="Text" />
</SelectParameters>
</asp:ObjectDataSource>
