2010-03-08 39 views
1

如何用jquery疊加來加載外部頁面的一部分?用jquery疊加外部頁面的一部分

我有一個aspx呼叫TipoFactor.aspx至極擁有的ContentPlaceHolder內一個div像這樣:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <br /> 
     <div id="DivGeneral" runat="server" class="tablaPaddingFiveCeleste"> 

,你可以看到「DivGeneral」是一個我想要加載到覆蓋,是至極這樣定義的:

<a href="TipoFactorSeleccion.aspx" rel="#overlay"> 
       <button type="button"> 
        Pagina Externa</button> 
      </a> 
      <!-- overlayed element --> 
      <div class="apple_overlay" id="overlay"> 
       <!-- the external content is loaded inside this tag --> 
       <div class="contentWrap"> 
       </div> 
      </div> 
      <script type="text/javascript"> 
       $(function() { 
        // if the function argument is given to overlay, 
        // it is assumed to be the onBeforeLoad event listener 
        $("a[rel]").overlay({ 

         expose: 'darkred', 
         effect: 'apple', 

         onBeforeLoad: function() { 

          // grab wrapper element inside content 
          var wrap = this.getContent().find(".contentWrap"); 

          // load the page specified in the trigger 
          wrap.load(this.getTrigger().attr("href")); 
         } 

        }); 
       }); 
      </script> 

像現在它的加載整個頁面到覆蓋,並導致其從同一個母版與其他inherites,這不是爲我好。我需要保持該主頁,因爲它具有一些重要的應用程序功能。

我該怎麼辦?
非常感謝。

回答

2

假設我理解正確的話,當你使用jQuery的「負荷()」 API,你可以在你的URL字符串jQuery選擇表達潛行:

$('#loadDestination').load('http://some.where/content #onlyThisPart', function() { ... }); 

,告訴jQuery來尋找「#onlyThisPart '在響應主體中,這就是它添加到主文檔中的全部內容。

因此,你會改變你這樣的代碼的東西:

// ... 
wrap.load(this.getTrigger().attr("href") + ' #divGeneral'); 

或任何「ID」值是標記您的內容開始。

+0

謝謝尖頂,它沒有工作,但我認爲它是因爲我不太瞭解jquery,剛開始使用它。我將把其他頁面包含在內,但作爲隱藏的div。非常感謝你。 – euther