簡體   English   中英

從asp.net的下拉列表中獲取選定的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM