2010-03-08 3 views
1

Comment charger une partie d'une page externe avec jquery overlay?Superposition d'une partie d'une page externe avec jquery

j'ai un appel TipoFactor.aspx wich ASPX a une div dans un ContentPlaceHolder comme ceci:

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

que vous pouvez voir le « DivGeneral » est celui que je veux charger dans la superposition, Wich est défini comme ceci:

<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> 

comme il est maintenant son chargement de la page entière dans la superposition et ce n'est pas bon pour moi parce que ce inherites de la même masterpage que l'autre. J'ai besoin de garder cette page parce qu'elle a une fonctionnalité d'application importante.

Que puis-je faire?
Merci beaucoup.

Répondre

2

En supposant que je vous comprends bien, lorsque vous utilisez le jQuery « load() » API vous pouvez glisser dans une expression de sélection jQuery dans votre chaîne URL:

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

qui indique jQuery pour chercher « #onlyThisPart "dans le corps de la réponse, et c'est tout ce qu'il ajoute à votre document principal.

Ainsi vous changeriez votre code quelque chose comme ceci:

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

ou quelle que soit la valeur « id » est que les marques où votre contenu commence.

+0

merci pointy, ça n'a pas marché mais je pense que c'est parce que je ne connais pas grand-chose à jquery, je commence juste à l'utiliser. Je vais inclure cette autre page dans le même mais comme un div caché. Merci beaucoup. – euther

Questions connexes