下拉菜单选择值为空

时间:2018-08-27 12:56:34

标签: c# asp.net webforms

我正在使用Webforms。我有一个国家/地区DropDownList的表单:

<asp:DropDownList runat="server" ID="Country" 
     DataValueField="CountryID" DataTextField="CountryDisplayName"/>

我在后面的代码中填充它:

var countries = CountryService.GetCountries();
countries.Insert(0, new CountryInfo { CountryName = "", CountryDisplayName = "", CountryID = 0 });

Country.DataSource = countries;
Country.DataBind();

一切都很好,但现在我正尝试将此控件移至单独的控件。

我已经搬走了,到处都是国家/地区。

问题是我正在使用回发获取表单,并且当单独控件SelectedValue中的下拉菜单始终为空时。

可能是什么原因引起的?

1 个答案:

答案 0 :(得分:0)

听起来像回发正在删除信息,或者您的数据绑定正在替换它。

  1. 您是否尝试过将country.databind()包装在!IsPostback中?
  2. 您是否尝试过在标记中添加SQLDatasource,将其链接到Dropdown,添加AutoPostback并查看其是否有效?

参见下文:

<asp:DropDownList runat="server" AutoPostBack="True" ID="Country" 
 DataValueField="CountryID" DataTextField="CountryDisplayName" DataSourceID="SqlDataSource1"/>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:XXXXXConnectionString %>" ProviderName="<%$ ConnectionStrings:XXXXXConnectionString.ProviderName %>" SelectCommand="XXXX">