2008/Oct/10

ถ้าหากเราเลือกใช้  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>

 

 

Comment

Comment:

Tweet


snippet.googalz.com
View full profile