Come caricare una pagina ASPX in una finestra di dialogo JQuery

Sto cercando di caricare una pagina ASPX in una finestra di dialogo quando l’utente fa clic su una voce di menu. La “home page” è costruito con VS2010 e contiene una pagina master e pagina di default.
Quando clicco sul menu opzione, la finestra di dialogo si apre, ma è completamente vuoto. Se rimuovo il link per il codice JS (rinominando l’opzione di menu), è necessaria la pagina viene visualizzata correttamente nella stessa scheda.
Il destinantion pagina non utilizzare la stessa pagina master pagina chiamante, in modo che io non credo di avere un problema con il conflitto tag e segnaposto.

JQuery UI finestra di dialogo? jqueryui.com/demos/dialog non È proprio pensato per contenere un’intera pagina. È pensato per contenere contenuti all’interno di una pagina. Pagina per aggiungere un livello di markup (html, header, body, etc.) all’interno di un elemento all’interno di un’altra pagina, probabilmente non è una buona idea.

OriginaleL’autore Michael A. Braganca | 2011-11-16

3 Replies
  1. 12

    Se si utilizza finestra di Dialogo jQueryUI è un pezzo di torta :

    $(document).ready(function() {
        $('#menu-item').click(function() {
            var mydiv = $('#mydiv');
            mydiv.dialog({ autoOpen: false });
            //Load the content using AJAX
            mydiv.load('mypage.aspx');
            //Open the dialog
            mydiv.dialog('open');
    
            return false;
        });
    });

    Spero che questo vi aiuterà.

    Vorrei suggerire di mettere la finestra di dialogo installazione di codice al di fuori del gestore di eventi $(document).ready(function() { var mydiv = $('#mydiv'); mydiv.dialog({ autoOpen: false }); $('#menu-item').click(function() { // Load the content using AJAX mydiv.load('mypage.aspx'); // Open the dialog mydiv.dialog('open'); return false; }); });
    Se posso solo una domanda, come si può quindi chiudere la finestra di Dialogo all’interno della pagina aspx?

    OriginaleL’autore Haythem Tlili

  2. 3

    Il codice seguente mostra una pagina aspx in un modale JQuery finestra di dialogo il passaggio di un post (il suo allievo Id memorizzato in un server-side HiddenField)

    “Home” pagina aspx

    <img alt="Previsiones" name="btnPrevisiones" id="btnButton" title="Dialog title"
    src="imageFile.png" onclick="ShowStudentFullRecord(document.getElementById('<% =hiStudentId.ClientID%>').value)" />

    JavaScript

    function ShowStudentFullRecord(StudentId)
    {
        var jsFileLocation = $('script[src*=yourJsFileName]').attr('src');
        jsFileLocation = jsFileLocation.replace('yourJsFileName.js', '');    
        $("#divStudentFullRecord")
            .load(jsFileLocation + "../SomeFolder/SomePage.aspx", {Id: StudentId })
            .dialog({
                autoOpen: false,
                show: "blind",
                hide: "explode",
                modal:true          
                });    
        $("#divStudentFullRecord").dialog( "open" );
        return false;        
    }

    “Destinazione”, Pagina aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SomePage.aspx.cs" Inherits="SomePage" %>
      <label id="lblLabelId">
      <%= this.Something %></label>

    “Destinazione”, Pagina aspx.cs

    protected string Something { get; set; }
    
    protected void Page_Load(object sender, EventArgs e)
    {
         if (!IsPostBack)
         {
             int studentId = Convert.ToInt32(Request.Form["Id"]);
             StudentFullRecord studentFullRecord = GetStudentFullRecord(studentId);
             this.Something = studentFullRecord.SomeImportantInformation; 
         }
    }

    E Ora Qualcosa di Completamente Diverso

    Ho trovato questo articolo per essere estremamente utile. Offre tre approcci sul caricamento aspx contenuto in una pagina dinamicamente utilizzando jquery. Spiega, inoltre, come il passaggio di parametri per la nuova pagina come postare i valori.

    Questo articolo rende chiaro un fatto importante:

    Di notare che se si incorpora ASP.NET controlla nella pagina generati
    non ci si aspetta loro di comportarsi come ASP.NET controlli una volta tornati
    e incorporato come HTML. La base WebForm non ha idea di nuovo
    contenuti aggiunti alla pagina e così qualsiasi forma di contenuto incorporato è trattato
    come materie prime solo HTML
    .

    Così… si desidera caricare una pagina aspx in un JQuery UI di Dialogo

    Suggerimento 1 la finestra di dialogo sarà come una mappa info popup

    Seguire l’approccio presentato nel cui articolo sotto il titolo ASPX Base del Contenuto della Pagina. Una molto semplice aspx senza controlli server, solo il codice html per rendere il cliente poco finestra popup dettagli del tuo. Per rendere la pagina di un JQuery finestra di dialogo seguire Haythem Tlili risposta.

    Suggerimento 2 Suggerimento 1 sembra eccessivo per voi

    Seguire l’articolo sezione Richiamata nella stessa Pagina e generare il codice HTML a rendere solo ciò di cui avete bisogno nella stessa pagina

    Suggerimento 3 la Sua qualcosa come eliminare popup di conferma

    In questo caso è probabile pulsante elimina sarà un Ripetitore di segnale o qualcosa di simile. Nel tuo script JQuery, quando ci si riferisce alla comparsa di trigger o contenitore, suggerisco:

    • Una Etichetta come trigger con i CSS, che lo rende come un pulsante.
    • Uso di un Pannello contenitore.
    • Quando si riferisce a questi due jquery script di farlo come questo: $("#<%= lblTrigger.ClientID %>").click(function(). Con questo non ci sará id follia, perché il Ripetitore cosa.

    Suggerimento 4 Si desidera solo che indipendente aspx pagina della finestra di dialogo.

    Si potrebbe mettere un iFrame in una pagina html (o aspx) e usa $.carico per arrivare a quella pagina. È necessario capire che iFrame ha alcuni problemi e deve essere utilizzato solo se il suo valore. Non utilizzare questo escenario se si aspetta di avere significativi di comunicazione tra la pagina originale e quella caricata nell’iFrame.

    OriginaleL’autore daniloquio

  3. 0

    Penso che quello che desideri è una finestra modale che mostra una pagina reale, giusto? Se è così guarda fancybox o colorbox
    Questi possono mostrare una vasta gamma di contenuti, compresi gli url

    OriginaleL’autore Ashok Padmanabhan

Lascia un commento