Ouvert ASP.NET page en div à l'aide de jQuery.load()
Je suis en utilisant le code ci-dessous pour ouvrir une page web à l'intérieur d'une balise div.
$(document).ready(function () {
$("#popupContact").load("Wizard.aspx");
});
Dans l'Assistant.page aspx, j'ai un telerik RadTabStrip de contrôle. Lorsque la page est chargée contrôle onglet est affiché avec toute la question, mais je ne peux pas naviguer vers l'onglet pages (onglets ne sont pas de travail).
Si je charge la page de l'Assistant.aspx avec le jquery code, tout fonctionne très bien.
<telerik:RadScriptManager runat="server" ID="RadScriptManager1" >
</telerik:RadScriptManager>
<div class="exampleWrapper" style="background-repeat: repeat;" >
<a id="popupContactClose"><b>X</b></a>
<b>Fill the Form</b>
<telerik:RadAjaxLoadingPanel runat="server" ID="LoadingPanel1">
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1" LoadingPanelID="LoadingPanel1"
Height="100%">
<div style="float: left; width: 500px; ">
<telerik:RadTabStrip ID="RadTabStrip1" SelectedIndex="0" runat="server" MultiPageID="RadMultiPage1"
Skin="Sunset" CssClass="tabStrip">
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" OnPageViewCreated="RadMultiPage1_PageViewCreated"
CssClass="multiPage">
</telerik:RadMultiPage>
</div>
<div id="specialdiv" class="previewWrapper" style="background-image: url('images/preview.jpg')">
<uc1:PreviewCS ID="previewControl" runat="server"></uc1:PreviewCS>
</div>
</telerik:RadAjaxPanel>
</div>
Vous devez vous connecter pour publier un commentaire.
jQuery.load()
prend le rendu de la sortie HTML de la page et insère ce code HTML dans votre sélecteur d'élément.Dans votre cas, le rendu au format HTML avec
Wizard.aspx
est imbriquée dans votre#popupContact
div.Tout côté serveur d'événements, etc qui ce Telerik de contrôle utilise ne sera pas de publication à
Wizard.aspx
et donc ne fonctionnent pas comme prévu.Lorsque l'on travaille avec ASP.NET Formulaires et les contrôles qui nécessitent de publication, je vous recommande l'ajout de votre
Wizard.aspx
un code personnalisé de contrôle de l'utilisateur (adresse e.g:Wizard.ascx
) et ensuite appeler ce dans un AJAXUpdatePanel
.Cela garantit que toutes les publications etc sont toujours liés avec les
ViewState
.Sinon (et c'est l'approche que je serais personnellement prendre) regarde la suppression de l'utilisation de votre site web, de contrôles et de les remplacer avec de l'HTML qui n'a pas de dépendance sur le
ViewState
.Je ne suis pas familier avec exactement la Telerik de contrôle, mais je suis sûr qu'il y est un moyen de le faire sans Telerik et en utilisant le HTML & jQuery. Ensuite, vous pouvez utiliser
jQuery.load()
et reconnectez tous les gestionnaires d'événements dans votre javascript.Le résultat sera plus léger, plus contrôlable, sortie.
Sauf
Wizard.aspx
est en quelque sorte une page partielle, appelant$("#popupContact").load("Wizard.aspx");
va charger l'ensemble d'un document HTML dans votrediv
, qui est le résultat de complètement invalides de balisage. Invalide de balisage tend à cascade dans tout un tas d'autres trucs qui ne fonctionne pas...Il convient de noter que
.load()
vous permet de tirer un fragment de la suite avant l'injection elle - ajouter un fragment d'URL avec l'ID du conteneur pour votre "assistant" pour l'URL que vous fournissez à.load()
:$("#popupContact").load("Wizard.aspx #wizard_or_whatever_you_named_this");
Vous perdrez toutes les CSS ou JavaScript intégré sur cette page, cependant.
Vous pouvez utiliser iframes.
iframe: La balise spécifie un cadre en ligne. Un cadre en ligne est utilisé pour incorporer un autre document dans le document HTML en cours.
Par exemple.:
Jquery couleur de la boîte enfin pour moi. c'est à l'aide d'un iframe pour charger l'extérieur de la fenêtre et ne produisent pas tous les problèmes.
http://www.jacklmoore.com/colorbox/example1/