0

我有以下网络应用程序: - 一个下拉菜单来更改星期几 - 一个根据上述选择更新其内部文本的跨度 - 下拉菜单设置为自动回发

我的问题是,从浏览器按钮向后和向前导航时,页面不一致。例如:在其初始状态下,星期几在下拉菜单和跨度中都是“星期一”。如果我更改为“星期二”,一切都会很好地更新,但如果我现在点击“后退”按钮,则跨度会更改回“星期一”,但下拉菜单不会。

在此处输入图像描述

有没有办法解决这个缓存问题?

这是一个简单的网络应用程序:

<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;            
    }      
4

1 回答 1

0

您最好在客户端上使用 javascript,因为它避免了回发到服务器。您可以添加 javascript 加载和更改侦听器以确保跨度文本和下拉列表同步

于 2012-05-23T12:12:41.527 回答