0
我有以下網絡應用程序: - 一個下拉菜單,以改變星期的日子 - 一個跨越根據上述選擇更新其內部文本 - 下拉是設置爲autopostback如何解決ASP.NET下拉歷史導航問題
我的問題是,當從瀏覽器按鈕導航回來和前進頁面不一致。例如:在初始狀態下,星期幾是「星期一」,無論是在下拉和跨度。如果我更改爲「星期二」,則所有內容都會更新得很好,但如果我現在點擊「後退」按鈕,則跨度將變回「星期一」,但下拉不變。
有什麼辦法來解決這個問題的緩存?
這裏是一個簡單的Web應用程序:
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DaysCombo" runat="server"
AutoPostBack = "true"
onselectedindexchanged="DaysCombo_SelectedIndexChanged"
/>
<div runat="server">
<span id="ContentSpan" runat="server"></span>
</div>
</div>
</form>
和代碼隱藏:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string[] days = new string[] { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
this.DaysCombo.DataSource = days;
Page.DataBind();
this.ContentSpan.InnerText = days[0];
}
}
protected void DaysCombo_SelectedIndexChanged(object sender, EventArgs e)
{
this.ContentSpan.InnerText = this.DaysCombo.SelectedValue;
}
這個簡約的例子只是爲了呈現問題,在現實中,而不是跨度我有許多服務器控件,背後。 – Elz
瀏覽器後退按鈕用所有填入輸入值的輸入字段恢復頁面。我想你可以禁用瀏覽器緩存,以便始終從服務器檢索頁面,或者可以使用ASP.NET Ajax並將其全部包裝到UpdatePanel中,以便瀏覽器後退按鈕未啓用? –
@Elz抱歉,在之前的評論中忘記了@你 –