0

次の Web アプリがあります: - 曜日を変更する 1 つのドロップダウン - 上記の選択に基づいて内部テキストを更新する 1 つのスパン - ドロップダウンは autopostback に設定されています

私の問題は、ブラウザのボタンから前後に移動するときに、ページに一貫性がないことです。例: 初期状態では、曜日はドロップダウンとスパンの両方で「月曜日」です。「火曜日」に変更すると、すべてがうまく更新されますが、[戻る] ボタンをクリックすると、スパンは「月曜日」に戻りますが、ドロップダウンはそうではありません。

ここに画像の説明を入力

このキャッシュの問題に取り組む方法はありますか?

シンプルな 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;            
    }      
4

1 に答える 1

0

サーバーにポストバックする必要がなくなるため、クライアントで JavaScript を使用することをお勧めします。スパンテキストとドロップダウンが同期していることを確認するために、javascript ロードと変更リスナーを追加できます。

于 2012-05-23T12:12:41.527 に答える