1

マスターページが1つあります。

<asp:UpdatePanel ID="upPanel" runat="server">
    <ContentTemplate>
         <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
         </asp:ContentPlaceHolder>
    </ContentTemplate>
</asp:UpdatePanel>

また、次のようなナビゲーションボタンの[次へ]と[戻る]が付いた3ページがあります。

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div>
        <asp:Label ID="lbl1" runat="server">Second PAGE</asp:Label>
        <asp:Button ID="btnBack" runat="server" />
        <asp:Button ID="btnNext" runat="server" />
    </div>   
</asp:Content>

すべてのページをロードせず、コンテンツのみをオーバーロードせずに、このページ間を移動する方法を教えてください。

4

1 に答える 1

0

ContentPlaceHolderContentオンbtnNextbtnBack OnClickイベントのコントロールを追加および削除できます

マークアップ:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:UpdatePanel ID="upPanelContent" runat="server">
        <asp:contentplaceholder id="ContentPlaceHolderContent" runat="server" />
    </asp:UpdatePanel>  
    <asp:Button ID="btnBack" runat="server" OnClick="btnBack_Click"/>
    <asp:Button ID="btnNext" runat="server" OnClick="btnNext_Click"/>
</asp:Content>

コードビハインド:

  protected btnNext_Click(Object sender, EventArgs e) 
  {
     ContentPlaceHolderContent.Controls.Clear();
     Literal l = new Literal();
     l.Text = "new content";
     ContentPlaceHolderContent.Controls.Add(l);
  }

  protected void btnBack_Click(Object sender, EventArgs e) 
  {
     ContentPlaceHolderContent.Controls.Clear();
     Literal l = new Literal();
     l.Text = "old content";
     ContentPlaceHolderContent.Controls.Add(l);
  }
于 2013-01-03T13:52:10.217 に答える