C# 从asp.net中的dropdownlist获取所选值
我有一个下拉列表,显示了我数据库中的国家列表C# 从asp.net中的dropdownlist获取所选值,c#,drop-down-menu,C#,Drop Down Menu,我有一个下拉列表,显示了我数据库中的国家列表 public void ShowCountries() { OdbcConnection conn; conn = new OdbcConnection(ConfigurationManager.ConnectionStrings["jConnString"].ConnectionString); conn.Open(); string sql = "SELECT iso,pri
public void ShowCountries()
{
OdbcConnection conn;
conn = new OdbcConnection(ConfigurationManager.ConnectionStrings["jConnString"].ConnectionString);
conn.Open();
string sql = "SELECT iso,printable_name FROM country";
OdbcCommand cmd = new OdbcCommand(sql, conn);
try
{
//ddlCountry.DataSourceID = "country";
ddlCountry.DataSource = cmd.ExecuteReader();
ddlCountry.DataTextField = "printable_name";
ddlCountry.DataValueField = "iso";
ddlCountry.DataBind();
}
catch (Exception ex)
{
Check.Text = "3" + ex.Message;
}
finally
{
ddlCountry.Dispose();
conn.Close();
conn.Dispose();
}
}
在aspx文件中,这就是我如何调用此数据绑定列表的方式
<asp:DropDownList ID="ddlCountry" runat="server"
DataTextField="printable_name"
DataValueField="iso">
</asp:DropDownList>
它显示列表,但如果我想选择第一个选项以外的选项,它总是插入第一个选项的值,而不是所选的选项,我做错了什么?在我看来,在访问所选值之前,数据源正在(重新)绑定到控件,因此,选定的值始终是数据源中的第一个值
ShowCountries
何时何地接到电话?我猜您在页面加载
if (!IsPostback) {
// bind the datasource here, when the page initially loads
ShowCountries();
}
另外,我认为您不想在
finally
块中的ddlCountry
上调用Dispose()
。如何在代码中选择选项?