我試圖使用被保存到會話變量的值設置的Page_Load一個的DropDownList的選定值值在pageLoad的設置DDL的的SelectedValue。 DropDownList已被填充,並將值與會話中的其他信息一起存儲。我正在創建一個編輯條目頁面,並希望所有的字段都已填充會話的信息。使用保存在會話變量
我所做的是填充文本框與會議變量,但對顧問部分我需要用戶輸入一個數字,而不是一個名字。所以我需要使用DropDownList以確保信息輸入準確。我已經研究了數據綁定,數據綁定,使用數據源等的方法,但似乎所有這些DropDownLists都是動態生成的。任何幫助將非常感激。
我的.aspx代碼:
<asp:TextBox runat="server" ID="fname" MaxLength="100"></asp:TextBox>
<asp:DropDownList ID="advisors" runat="server">
<asp:ListItem Value="">Select Advisor</asp:ListItem>
<asp:ListItem Value="2">Joe Schmo</asp:ListItem>
</asp:DropDownList>
代碼背後:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
fname.Text = Session["fname"].ToString();
lname.Text = Session["lname"].ToString();
sex.Text = Session["sex"].ToString();
sid.Text = Session["sid"].ToString();
email.Text = Session["email"].ToString();
phone.Text = Session["phone"].ToString();
advisors.SelectedValue = Session["advisor"].ToString();
}
}
UPDATE:
所以我很愚蠢的。 Session變量存儲名稱「Joe Schmo」而不是值「2」。以下代碼適用於我。
foreach (ListItem listItem in advisors.Items)
{
listItem.Selected = listItem.Text.Equals(Session["advisor"].ToString());
}
你肯定會話[「顧問」。toString()方法正確設置,並返回一個匹配列表項值的值?也許嘗試硬編碼像顧問.SelectedValue =「2」;或advisors.SelectedIndex = 1;只是爲了看看它是如何工作的。 – dave823
@ dave823我是個白癡。感謝你提出這個問題,Session [「顧問」]返回的名字不是價值。所以當然這是行不通的。我現在覺得很愚蠢。謝謝 – Jobokai