0

asp.net Web サイトにユーザー コントロールを実装しています。ユーザー コントロールは、すべてのページでヘッダーとして使用されます。ユーザー コントロール コンテンツを読み込む方法は、ユーザー (ログイン、ログアウト、ユーザー名) によって異なります。

ユーザー コントロールを 1 回だけ読み込むにはどうすればよいですか? たとえば、ユーザーが quora のようにログインしている場合。私が何を意味するかを理解するために、quora にログインしてください。質問のページを開くたびに、quora ヘッダーがリロードされず、主要なコンテンツのみが変更されることに気付くでしょう。

それはどのように達成されますか?

4

2 に答える 2

0

私は quora にサインアップしませんでしたが、パブリック ページには一貫したヘッダーがまだありますが、要求が行われるたびにヘッダーがダウンロードされます。シンプルなので、画面全体が再描画されていることがわかりにくいと思います。

ajax を使用して要求を行い、それが必要な場合にのみページの一部を再描画することができます。または、古い学校に行ってフレームを使用することもできます (使用しないでください)。

于 2011-06-01T20:58:36.237 に答える
0

ヘッダーをマスター ページに置き、いくつかのコンテンツ ページを用意することをお勧めします。ユーザー コントロールに配置することもできます。

ユーザー コントロールを保持し、コンテンツをリロードするだけの場合は、少し複雑になります。この目標を達成するには、JavaScript を使用する必要があります。ASP.NET では、UpdatePanel を使用できます。

<asp:UpdatePanel ID=”UpdatePanel1” runat=”server”&gt;
  <ContentTemplate>
    <!-- this content can be refreshed on post backs -->
  </ContentTemplate>
</asp:UpdatePanel>

ログインしたユーザー用に個別のパネルを表示するには、ログイン ビューを使用できます。

<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
   <AnonymousTemplate>
   </AnonymousTemplate>
   <LoggedInTemplate>
         Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
          [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ]
   </LoggedInTemplate>
</asp:LoginView>
于 2011-06-01T20:58:37.513 に答える