Как загрузить страницу без влияния на главную страницу?

У меня есть MasterPage.master ниже

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="load page" />
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

Я хочу загружать страницы .aspx внутри ContentPlaceHolder1 без загрузки главной страницы каждый раз. Как я могу это сделать?


person MSDs    schedule 24.12.2013    source источник


Ответы (1)


Я думаю, что панель обновлений - это то, что вам нужно.

http://msdn.microsoft.com/en-us/library/bb399001.aspx

Это позволит вам обновлять контент с помощью AJAX, чтобы избежать обновления внешнего контента.

 <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

     <html xmlns="http://www.w3.org/1999/xhtml">
          <head runat="server">
               <title></title>
               <asp:ContentPlaceHolder id="head" runat="server">
               </asp:ContentPlaceHolder>
          </head>
          <body>
          <form id="form1" runat="server">
          <div>
               <asp:updatepanel ID="Updatepanel1" runat="server">
               <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
               </Triggers>
               <ContentTemplate>
                    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
               </ContentTemplate>
               </asp:updatepanel>

               <asp:Button ID="Button1" runat="server" Text="load page" />

          </div>
    </form>
</body>
</html>

Мне не удалось это проверить, но это должно дать вам представление.

Кнопка 1 должна теперь вызвать обновление панели обновлений. Вы также можете программно обновить панель обновлений с помощью

UpdatePanel1.Update()
person Dave S    schedule 24.12.2013