簡體   English   中英

ASP.net將下拉列表中的Selected-Item保存為會話

[英]ASP.net save dropdown-list Selected-Item as a session

我想將下拉列表中的選定項目另存為會話,但是我總是從locations表中獲得第一個結果。

ASP.net:

<div>
    <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
</div>

C#(只需將位置移至下拉列表即可正常工作)

using(SqlConnection con = new SqlConnection(CS))
{
    SqlCommand cmd = new SqlCommand("select location_id, location_name from locations", con);

    con.Open();
    DropDownList1.DataTextField = "location_name";
    DropDownList1.DataValueField = "location_id";
    DropDownList1.DataSource = cmd.ExecuteReader();
    DropDownList1.DataBind();
}

問題:總是從數據庫中檢索第一個位置。

protected void btnGo_Click(object sender, EventArgs e)
{
    string location;
    Session["userLocation"] = DropDownList1.SelectedItem;
    location = Session["userLocation"].ToString();
}

謝謝你的幫手。

僅當Page.IsPostBack等於False才應該進行綁定。

原因可能是每次請求頁面時都會調用用於填充DropDownList1數據操作。 此數據檢索也有可能在執行btnGo_Click之前發生,結果SelectedIndex將重置為0,這是您的情況下的第一個位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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