我在ListView中有一个DropDownList。 ListView显示公司的员工,DDL列出可以分配给他们的组。
我使用了2个独立的数据源。一个列出员工,一个列出组。它看起来很好,但每当我尝试更新组时,它都不会注册。
我在这里找不到任何相关内容。感谢您的时间,谢谢。 :)
数据源:
<asp:LinqDataSource
ID="LinqDataSource_Employees"
runat="server"
ContextTypeName="Blabla.bla.myContext"
EntityTypeName=""
OrderBy="Group_ID, DisplayName"
TableName="Employees"
EnableDelete="True"
EnableInsert="True"
EnableUpdate="True">
</asp:LinqDataSource>
<asp:LinqDataSource
ID="LinqDataSource_Groups"
runat="server"
ContextTypeName="Blabla.bla.myContext"
EntityTypeName=""
Select="new (ID, Name)"
TableName="Groups">
</asp:LinqDataSource>
EditItemTemplate中:
<EditItemTemplate>
<tr style="">
<td>
<asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
<td>
<asp:Label ID="ID_UserNameLabel" runat="server" Text='<%# Eval("ID_UserName") %>' />
</td>
<td>
<asp:TextBox ID="DisplayNameTextBox" runat="server" Text='<%# Bind("DisplayName") %>' />
</td>
<td>
<asp:TextBox ID="EmailAddressTextBox" runat="server" Text='<%# Bind("EmailAddress") %>' />
</td>
<td>
<asp:TextBox ID="PhoneNumberTextBox" runat="server" Text='<%# Bind("PhoneNumber") %>' />
</td>
<td>
<asp:DropDownList ID="GroupDropDownList" runat="server" DataSourceID="LinqDataSource_Groups" DataTextField="Name" DataValueField="ID" />
</td>
</tr>
</EditItemTemplate>
答案 0 :(得分:0)
经过更多digging之后,我发现了如何继续的线索。
事实证明,如果你在Property SelectedValue 上使用Bind,它将绑定到ListView的DataSource,而不是在DataSource属性中以声明方式设置的那个。 :)
<asp:DropDownList
ID="GroupDropDownList"
runat="server"
DataSourceID="LinqDataSource_Groups"
DataTextField="Name"
DataValueField="ID"
SelectedValue='<%# Bind("Group_ID") %>' />
希望这有助于某人。 :)