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