2012-02-23 67 views
3

我試着做綁定一個下拉列表,詳細信息視圖,但不斷收到有關的下拉列表ID字段錯誤:綁定的DropDownList到DetailsView控件沒有數據源

<asp:TemplateField HeaderText="Approval"> 
       <ItemTemplate> 
        <asp:DropDownList ID="Approved" runat="server" DataValueField="Approved" SelectedValue='<%#Bind("Approved") %>'> 
         <asp:ListItem Text="Approved" Value="Approved" /> 
         <asp:ListItem Text="Denied" Value="Denied"/> 

        </asp:DropDownList> 
       </ItemTemplate>     
</asp:TemplateField> 

錯誤消息如下:

'Approved'具有一個無效的SelectedValue,因爲它在項目列表中不存在。 參數名:價值

什麼是對下拉列表的價值附加到我的對象,以便它可以在數據庫中正確創建的正確方法?我的大部分搜索都會告訴我如何將下拉列表綁定到對象數據源,但這不是我需要做的。這是一個永遠不會改變的2個項目的基本下拉列表。發生

回答

2

這個錯誤,因爲你要綁定的DropDownListDetailsView的數據源的「批准」字段的SelectedValue,但它試圖分配值是不是你已經列出的兩個(簡稱‘認可’之一和「拒絕」)。我看你有DataValueField="Approved"。你是否在代碼隱藏中設置Dropdown的數據源?因爲這不會將ListItems設置爲DetailsView的數據源中「已批准」列中的值,所以將其設置爲下拉的數據源。

根據您的邏輯,這裏有一些possibilites:

  • 確保您的靜態項相匹配的項目可能在DetailsView的「批准」字段中返回。或者,
  • DropDownList綁定到包含「已批准」中所有可能值的數據集,並完全刪除您的靜態項目。或者,
  • 在您的DropDown中設置爲AppendDataBoundItems="True"並且同時包含靜態和綁定數據項
相關問題