2015-12-13 3 views
0

Я не могу обновить базу данных после выбора одного из элементов списка в элементе управления dropdownlist. У кого-нибудь есть идея, почему?Невозможно обновить с помощью GridView

Я получил сообщение об ошибке:

«DDL» имеет SelectedValue, который является недействительным, поскольку он не существует в списке имя items.Parameter: значение

Здесь разметка:

<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataSourceID="OrdersDataSource" ForeColor="Black" GridLines="Horizontal" AutoGenerateColumns="False" CssClass="gridview" DataKeyNames="OrderId"> 
     <Columns> 
      <asp:CommandField ShowEditButton="True" /> 
      <asp:TemplateField HeaderText="Status" SortExpression="Status"> 
       <EditItemTemplate> 
        <asp:DropDownList ID="ddl" runat="server" DataTextField="Status" DataValueField="Status" SelectedValue='<%# Bind("Status") %>'> 
        <asp:ListItem Text="Yes" Value="1"></asp:ListItem> 
        <asp:ListItem Text="No" Value="2"></asp:ListItem> 
       </asp:DropDownList> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label1" runat="server" Text='<%# Bind("Status") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:BoundField DataField="OrderId" HeaderText="OrderId" InsertVisible="False" ReadOnly="True" SortExpression="OrderId" /> 
     </Columns> 
</asp:GridView> 
<asp:SqlDataSource ID="OrdersDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ProjectConnectionString1 %>" SelectCommand="SELECT [Status], [OrderId] FROM [Order]" UpdateCommand="UPDATE [Order] SET [Status] = @Status WHERE [OrderId] = @OrderId"> 
    <UpdateParameters> 
     <asp:Parameter Name="Status" Type="String" /> 
     <asp:Parameter Name="OrderId" Type="Int32" /> 
    </UpdateParameters> 
    </asp:SqlDataSource> 

ответ

0

Ваши значения для раскрывающегося списка состояния «1» и «2». Один или несколько статусов, которые вы пытаетесь связать с ним, это нечто иное, чем «1» или «2». Вы должны изменить его так, чтобы любой статус, который вы пытаетесь связать с ним, представлен в списке возможных значений.

Посмотрите на результаты запроса в столбце состояния, чтобы определить значения и добавить их как возможные значения.

Смежные вопросы