[英]Get selected value from dropdownlist in asp.net
我有一個下拉列表,顯示我數據庫中的國家列表
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
在何時ShowCountries
地致電? 猜測一下,我會說您在Page_Load
缺少對IsPostback
的檢查
if (!IsPostback) {
// bind the datasource here, when the page initially loads
ShowCountries();
}
另外,我認為您不想在finally
塊中的ddlCountry
上調用Dispose()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.