我有DropDownList,它有一些可供选择的选项。如今后,当用户选择其中的一个选项,它必须点击一个按钮,它是在同一页上重定向:重定向时记住DropDownList状态
protected void Button4_Click(object sender, EventArgs e)
{
Response.Redirect("Graphs.aspx?Selection=" + DropDownList1.SelectedValue + "&Date1=" + TextBox1.Text + "&Date2=" + TextBox2.Text);
}
我必须使用重定向,而不是回传,因为我用的海军报是JavaScript的库,并且当用户选择其他选项时,必须重新编写所有代码。问题是,当它重新导向回来时,出于某种原因,我无法记住DropDownList中的值,该值具有用户先前选择的值。我试图与此代码:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["Selection"] == "TemperatureOUT")
{
DropDownList1.SelectedIndex = 0;
}
else if (Request.QueryString["Selection"] == "Dewpoint")
{
DropDownList1.SelectedIndex = 1;
}
}
的问题是,如果例如用户从DropDownList的选择露点,然后点击按钮,这会导致重定向,新的URL应该具有:
Graphs.aspx?Selection=Dewpoint&...
而是,它说:
Graphs.aspx?Selection=TemperatureOUT&...
现在,如果我删除代码的Page_Load它的工作原理,但它不记得什么用户之前选择。现在我知道Page_Load必须有一些东西。不是当页面重定向时,Page_Load被调用,所以它应该查找Selection值并将其打印出来。所以它必须是重定向的问题,出于某种原因不会设置选定的值。
要求
尝试一个有客户端重定向,而不是服务器端。服务器端按钮没有真正意义,它所做的只是重定向。 –