我有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值並將其打印出來。所以它必須是重定向的問題,出於某種原因不會設置選定的值。
要求
嘗試一個有客戶端重定向,而不是服務器端。服務器端按鈕沒有真正意義,它所做的只是重定向。 –