Я использую V2005 C #.
У меня есть GridView на моей странице .aspx, и я могу обновить свою базу данных, используя элементы управления DropDownList в моем EditItemTemplate.
DDL для моего полаcolumn:
<asp:TemplateField HeaderText="Gender" SortExpression="Gender">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server" SelectedValue='<%# Bind("Gender") %>'>
<asp:ListItem>M</asp:ListItem>
<asp:ListItem>F</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Gender") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
В моем DDL EditItemTemplate для моего столбца Gender я использовал жестко закодированные значения, и это работает.
Однако я попытался реализовать DDL для другого столбца.На этот раз я использовал SqlDataSource, который выбирает данные из другой таблицы, вместо того, чтобы использовать фиксированные значения, но вместо этого они дали мне ошибку: 'DropDownList3' has a SelectedValue which is invalid because it does not exist in the list of items.Parameter name: value
Я также пытался реализовать SelectedValue='<%# Bind("MemberType") %>'
, но он сделалне работает.
Ниже приведен код моего MemberType
DDL EditItemTemplate:
<asp:TemplateField HeaderText="MemberType" SortExpression="MemberType">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="SqlDataSource2"
DataTextField="MemberType" DataValueField="MemberType" SelectedValue='<%# Bind("MemberType") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("MemberType") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Кто-нибудь знает, что здесь не так?
Спасибо