M
Mark Micallef
Hi, I'm having a problem using a databound dropdownlist inside a
reorderlist ajax control. Here's a snippet of the code I'm using:
<InsertItemTemplate>
<div class="insertArea">
<aspropDownList ID="lstUser" runat="server"
DataSourceID="UserDataSource" DataTextField="UserName"
DataValueField="UserId" SelectedValue='<%# Bind("UserId") %>'
AppendDataBoundItems="true"></aspropDownList>
<asp:TextBox ID="txtPhone" runat="server" MaxLength="20" Width="150"
Text='<%# Bind("ContactPhone") %>'></asp:TextBox>
<asp:TextBox ID="txtEmail" runat="server" MaxLength="255" Width="400"
Text='<%# Bind("ContactEmail") %>'></asp:TextBox>
<asp:Button ID="cmdAdd" runat="server" Text="Add"
CommandName="insert" />
</div>
</InsertItemTemplate>
When clicking the Add button, I get a "Databinding methods such as
Eval(), XPath(), and Bind() can only be used in the context of a
databound control."
The bizarre thing about this is that the exact same code works fine in
the EditItemTemplate. As far as I know, I need to bind the UserId so
that it gets fed into the UserId parameter in the objectdatasource. If
I remove the SelectedValue='<%# Bind("UserId") %>' part then I no
longer get the error, but the objectdatasource tries to pass null for
the userid to the database, which is of no use.
Here is the insert section of the objectdatasource for reference:
<InsertParameters>
<asp:ControlParameter Name="Company" ControlID="lstCompany"
PropertyName="SelectedValue" Type="Int32" />
<asparameter Name="UserId" Type="Object" />
<asparameter Name="Sequence" Type="Int32" />
<asparameter Name="ContactPhone" Type="String" />
<asparameter Name="ContactEmail" Type="String" />
</InsertParameters>
Hope to get some help on this as it's really bugging me.
Regards,
Mark
reorderlist ajax control. Here's a snippet of the code I'm using:
<InsertItemTemplate>
<div class="insertArea">
<aspropDownList ID="lstUser" runat="server"
DataSourceID="UserDataSource" DataTextField="UserName"
DataValueField="UserId" SelectedValue='<%# Bind("UserId") %>'
AppendDataBoundItems="true"></aspropDownList>
<asp:TextBox ID="txtPhone" runat="server" MaxLength="20" Width="150"
Text='<%# Bind("ContactPhone") %>'></asp:TextBox>
<asp:TextBox ID="txtEmail" runat="server" MaxLength="255" Width="400"
Text='<%# Bind("ContactEmail") %>'></asp:TextBox>
<asp:Button ID="cmdAdd" runat="server" Text="Add"
CommandName="insert" />
</div>
</InsertItemTemplate>
When clicking the Add button, I get a "Databinding methods such as
Eval(), XPath(), and Bind() can only be used in the context of a
databound control."
The bizarre thing about this is that the exact same code works fine in
the EditItemTemplate. As far as I know, I need to bind the UserId so
that it gets fed into the UserId parameter in the objectdatasource. If
I remove the SelectedValue='<%# Bind("UserId") %>' part then I no
longer get the error, but the objectdatasource tries to pass null for
the userid to the database, which is of no use.
Here is the insert section of the objectdatasource for reference:
<InsertParameters>
<asp:ControlParameter Name="Company" ControlID="lstCompany"
PropertyName="SelectedValue" Type="Int32" />
<asparameter Name="UserId" Type="Object" />
<asparameter Name="Sequence" Type="Int32" />
<asparameter Name="ContactPhone" Type="String" />
<asparameter Name="ContactEmail" Type="String" />
</InsertParameters>
Hope to get some help on this as it's really bugging me.
Regards,
Mark