我今天早上试图修复的是ASP.NET控件下拉列表中的一个问题:
我面临的场景是检索选择的项并在重定向页面中显示(所有用户信息的某种摘要),然后给用户提交或编辑的选项。但我总是得到两个下拉列表中的第一项。
我的代码:
mydrop.DataSource = function();
mydrop.DataTextField = "test";
mydrop.DataValueField = "type";
mydrop.DataBind();
mydrop.SelectedIndex = 0;
string[] a = new string[] { test.SelectedItem.Text, test2.Text,};
Session["dataForm"] = a;
Response.Redirect("~/mypage.aspx");在页面的page_load中,我将用户重定向到:
string[] a = (string[])Session["dataForm"];
test.Text = a.GetValue(0).ToString();
test2.Text = a.GetValue(1).ToString();但我总是得到下拉列表的第一项,即使我改变了选择。
感谢您的阅读,并提前感谢您的帮助。
发布于 2014-09-24 10:20:47
首先,您可以设置autoPostback=true,然后在Page_Load中放置bellow以进行绑定:
if(!IsPostback)
{
mydrop.DataSource = function();
mydrop.DataTextField = "test";
mydrop.DataValueField = "type";
mydrop.DataBind();
mydrop.SelectedIndex = 0;
}现在,将代码放在SelectedIndexChanged事件的mydrop中,如下所示:
protected void mydrop_SelectedIndexChanged(object sender, EventArgs e)
{
string[] a = new string[] { test.SelectedItem.Text, test2.Text,};
Session["dataForm"] = a;
Response.Redirect("~/mypage.aspx");
}https://stackoverflow.com/questions/26014222
复制相似问题