2014-03-12 3 views
0

마스터 페이지 작동 방식에 대한 약간의 설명이 필요합니다 (어쩌면 asp.net 마스터 페이지 수명주기를 호출 할 수도 있습니다). 하나의 마스터 페이지에 연결된 3 개의 페이지가 있다고 생각해보십시오. 코드는 다음과 같습니다 :이 같은asp.net의 마스터 페이지가 AJAX처럼 작동합니까?

<asp:table runat="server" ID="tableFrame" CssClass="table"> 
     <asp:TableHeaderRow CssClass="atas"> 
      <asp:TableHeaderCell ColumnSpan="2"> 
       Master Page <br /> 
       Tutorial 
      </asp:TableHeaderCell> 
     </asp:TableHeaderRow> 
     <asp:TableRow> 
      <asp:TableCell CssClass="samping"> 
       <a href="index.aspx">Homepage</a> <br /> 
       <a href="Simple_Calculator.aspx">Simple Calculator</a> <br /> 
       <a href="Asterik_Triangle.aspx">Asterik Triangle</a> 
      </asp:TableCell> 
      <asp:TableCell CssClass="isi">      
       <asp:ContentPlaceHolder ID="Content" runat="server"> 

       </asp:ContentPlaceHolder> 
      </asp:TableCell> 
     </asp:TableRow> 
     <asp:TableFooterRow CssClass="bawah">     
      <asp:TableCell ColumnSpan="2"> 
       &copy; Web Technology 
      </asp:TableCell> 
     </asp:TableFooterRow> 
    </asp:table> 

색인 코드 조회 :

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="index" Title="Homepage" MasterPageFile="~/Master.master" %> 

<asp:Content ID="Head_Index" ContentPlaceHolderID="head" runat="server"> 

</asp:Content> 

<asp:Content ID="Content_Index" ContentPlaceHolderID="content" runat="server"> 
    Welcome to Our Homepage <br /> 
    Please follow the instruction to finish the construction of this website 
</asp:Content> 

그 asp.net은 AJAX 같은 작품을?

그냥 AJAX가 모든 페이지를 다시로드하지 않고 그냥 다시로드해야 할 수도 있습니다.이 경우 index.aspx에있을 수 있습니다 (어쩌면 asp.net은 파일 * .master를 다시로드하지 않고 index.aspx로 표시해야합니다.) .net Object contentPlaceHolder) 및 웹 응용 프로그램이 기존 페이지의 표시 및 동작을 방해하지 않으면 서 백그라운드에서 비동기 적으로 서버로 데이터를 보내고 서버에서 데이터를 검색하는 동안.

귀하의 조언에 감사드립니다. 건배! :)

답변

1

아니요, 게시 한 코드에 AJAX가 없습니다.

마스터 페이지와 콘텐츠 페이지는 완전히 서버 쪽 개념입니다. 클라이언트 (브라우저)는 그들에 대한 지식이 없습니다. 서버 측 코드 (이 경우 ASP.NET 프레임 워크)는 요청에 응답 할 때 구성 요소를 어셈블하여 클라이언트로 보낼 출력 스트림을 만듭니다.

이 경우 서버 측 코드를 실행하고 마스터 페이지와 콘텐츠 페이지를 병합하고 다양한 서버 측 컨트롤과 클라이언트 측 HTML/JavaScript로 바인딩 된 데이터를 해석하는 작업이 포함됩니다. 렌더링 된 HTML로 클라이언트에 보낼 하나의 큰 문자열을 작성합니다.

페이지마다 요청할 때마다이 작업을 수행합니다. 브라우저에서 페이지를 열면 소스보기로 이동하여 서버 측 코드에서 출력 된 "문자열"을 확인하십시오. 마스터 페이지와 콘텐츠 페이지 사이에는 클라이언트 측 구분이 없습니다.

0

아니요, 마스터 페이지는 어떤 의미에서든 AJAX와 유사하지 않습니다. 단순히 페이지의 마크 업에서 페이지별로 변경되지 않는 부분을 추상화하는 방법 일뿐입니다. 이렇게하면 페이지의 마크 업이 페이지의 중요한 부분에 집중할 수 있습니다. "Server Side Includes"와 그 목적이 비슷합니다. 그러나 메커니즘은 서버 측에서만 발생하기 때문에 매우 다릅니다.

그런데 .aspx 및 .master 페이지의 텍스트는 코드로 간주되지 않습니다. 마크 업입니다. .cs 또는 .vb 페이지의 내용은 코드로 간주됩니다.