2011-12-06 52 views
2

我有一個GridView控件的問題,也許有人可以幫助我。
在gridview中,有一個來自數據庫的字段Country
我已經啓用了編輯gridview中的數據,當有人點擊gridview編輯按鈕時,gridview會出現並提供給他們選擇該字段的新值。edititemtemplate中的dropdownlist gridview asp.net

但是當我點擊編輯,我收到此錯誤:

'類型 'System.Web.UI.WebControls.ListItem' 在大會' System.Web程序,版本= 4.0.0.0,文化=中立,PublicKeyToken = b03f5f7f11d50a3a'未標記爲可序列化。'

這裏是我對那場,在較短的版本,但不包括從大多數例子中的國家代碼:

<asp:TemplateField HeaderText="Country" SortExpression="Country"> 
    <ItemTemplate> 
     <asp:Label ID="Label1" runat="server" 
        Text='<%# Bind("Country") %>'> 
     </asp:Label> 
    </ItemTemplate> 
    <EditItemTemplate> 
     <asp:DropDownList id="ddlCountry" 
          SelectedItem='<%# Bind("Country") %>' 
          runat="server"> 
      <asp:ListItem Value="N/A">Please select</asp:ListItem> 
      <asp:ListItem Value="US">United States</asp:ListItem> 
      <asp:ListItem Value="AF">Afghanistan</asp:ListItem> 
      <asp:ListItem Value="AL">Albania</asp:ListItem> 
      <asp:ListItem Value="DZ">Algeria</asp:ListItem> 
      <asp:ListItem Value="AS">American Samoa</asp:ListItem> 
      <asp:ListItem Value="AD">Andorra</asp:ListItem> 
      <asp:ListItem Value="AO">Angola</asp:ListItem> 
      <asp:ListItem Value="AI">Anguilla</asp:ListItem> 
      <asp:ListItem Value="AQ">Antarctica</asp:ListItem> 
      <asp:ListItem Value="AG">Antigua And Barbuda</asp:ListItem> 
      <asp:ListItem Value="AR">Argentina</asp:ListItem> 
      <asp:ListItem Value="AM">Armenia</asp:ListItem> 
      <asp:ListItem Value="AW">Aruba</asp:ListItem> 
      <asp:ListItem Value="AU">Australia</asp:ListItem> 
      <asp:ListItem Value="AT">Austria</asp:ListItem> 
      <asp:ListItem Value="ZR">Zaire</asp:ListItem> 
      <asp:ListItem Value="ZM">Zambia</asp:ListItem> 
      <asp:ListItem Value="ZW">Zimbabwe</asp:ListItem> 
     </asp:DropDownList> 
    </EditItemTemplate> 
+1

您是否嘗試過爲您的國家創建數據源,然後將DropDownList放入edittemplate並從代碼後面分配數據源?這將繞過顯式創建一個ListItem對象到GridView中。這是一個使用DataSource的冗長示例:http://msdn.microsoft.com/en-us/library/ms972948.aspx。 – Josh

+0

該作品,謝謝,也許後在回答,所以我可以'標記爲答案'。再次感謝 – Laziale

+0

剛剛做到了。謝謝! – Josh

回答

2

您是否嘗試過爲您的國家創建數據源,然後將DropDownList放入edittemplate並從代碼後面分配數據源?這將繞過顯式創建一個ListItem對象到GridView中。這是一個使用DataSource的冗長示例:msdn.microsoft.com/en-us/library/ms972948.aspx。

2

使用SelectedValue而不是SelectedItem財產。

找到here

相關問題