1

ブラウザ履歴の管理asp.netのサンプル記事に従っていますが、ブラウザの戻るボタンをクリックした後、 LabelHistoryDataラベルを更新する際に問題が発生します。にブレークポイントを設定しました

LabelHistoryData.Text = Server.HtmlEncode(e.State["s"]);

しかし、どういうわけか、btnGetInboxListまたはbtnGetSentboxListをクリックした後、ブラウザの戻るボタンを押した後、LabelHistoryData.Text値は常にnullになります。以下は私のコードの一部です。誰かが親切にアドバイスしてください。

ありがとう。

     <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="True" OnNavigate="OnNavigateHistory" EnableHistory="true" EnableSecureHistoryState="false" />  

      <asp:UpdatePanel ID="uiupInboxMainGrid" runat="server" UpdateMode="Conditional">
                        <ContentTemplate>
                            <asp:Label runat="server" ID="LabelHistoryData" />
                            <asp:Button ID="btnGetMessageContent" runat="server" Text="MsgContent" OnClick="GetMessageContent_Click" />
                            <asp:Button ID="btnGetInboxList" runat="server" Text="Inbox" OnClick="GetInboxList_Click"/>
                            <asp:Button ID="btnGetSentboxList" runat="server" Text="OutBox" OnClick="GetSentBoxList_Click" />
                        </ContentTemplate>
                    </asp:UpdatePanel>


        public void OnNavigateHistory(object sender, HistoryEventArgs e)
            {
                LabelHistoryData.Text = Server.HtmlEncode(e.State["s"]);
            }

        protected void GetInboxList_Click(object sender, EventArgs e)
            {
                LabelHistoryData.Text = ((Button)sender).Text;
                ScriptManager.GetCurrent(this).AddHistoryPoint("s", LabelHistoryData.Text, "Entry: " + LabelHistoryData.Text);
            }

        protected void GetSentBoxList_Click(object sender, EventArgs e)
            {
                LabelHistoryData.Text = ((Button)sender).Text;
                ScriptManager.GetCurrent(this).AddHistoryPoint("s", LabelHistoryData.Text, "Entry: " + LabelHistoryData.Text);
            }

        protected void GetMessageContent_Click(object sender, EventArgs e)
            {
                LabelHistoryData.Text = ((Button)sender).Text;
                ScriptManager.GetCurrent(this).AddHistoryPoint("s", LabelHistoryData.Text, "Entry: " + LabelHistoryData.Text);
            }
4

1 に答える 1

0

UpPanelUpdateModeをAlwaysに設定する必要があることがわかりました。

于 2013-01-22T08:25:25.687 に答える