Domanda

Sono uno sviluppatore web esperto in diversi stack di tecnologie web. Attualmente lavoro in .Net e sono diventato curioso di sapere il postback parziale.

ho capito quale funzione della parziale del postback è e come lavorare con esso programatically, ma non mi piace usare la tecnologia che non capisco, come viene implementato un postback parziale.

Capisco le richieste HTTP e le richieste asincrone, la cosa che mi bug circa il postback parziale è che sembra essere sia.

Forse sto solo perdendo qualcosa, ma mi sembra che la richiesta parziale fa entrambe, prima sparando una richiesta asincrona POST, ma il browser sembra di essere a conoscenza e l'indicatore di attività inizia a girare, che normalmente si verifica solo nel corso di una HTTP Richiesta di rendering della pagina.

Quindi, chiunque può fare una certa luce su come Microsoft ha implementato, a livello di richiesta HTTP, il postback parziale?

È stato utile?

Soluzione

Come scrivere il proprio postback parziale in ASP.NET 2.0 :

  

Al centro del post parziale schiena costruzione è il XMLHttpRequest, un'API DOM. Può essere utilizzato all'interno di un linguaggio di scripting del browser web, come JavaScript, per inviare una richiesta HTTP direttamente a un server web senza dover ricaricare l'intera pagina e la gestione della risposta data dal server di nuovo all'interno del linguaggio di scripting. Questi dati, in forma di XML, può quindi essere utilizzato per manipolare gli elementi della pagina sul lato client.

     

Quando il pulsante sulla pagina ASPX è stato fatto clic, una richiesta HTTP lato client viene effettuata utilizzando l'API XMLHttpRequest. Questa richiesta viene gestita da un HttpHandler sul server web. Il HttpHandler riceve la richiesta, elabora e restituisce la risposta alla oggetto XMLHTTP sulla pagina ASPX. L'oggetto XMLHTTP a sua volta consuma la risposta e rende le modifiche dell'interfaccia utente appropriate senza il browser dover fare un aggiornamento completo della pagina.

Un UpdatePanel non solo rinfresca i controlli che esso contiene, si aggiorna anche il valore ViewState con quello ottenuto dal server, dopo l'elaborazione.

Altri suggerimenti

So che questa domanda è già stata data risposta, ma non sono d'accordo con la risposta ...

A mio modesto parere, il termine 'postback parziale' è attuato in modo abusivo nel citato articolo " Come scrivere il proprio postback parziale in ASP.NET 2.0" . In questo articolo, l'autore mostra come effettuare una chiamata AJAX a un HttpHandler. Questo è un processo molto diverso da fare PartialPostback chiamate in ASP.NET.

I beleive questo 'differenza' viene eluso per la (sopra risposte) dopo-pensiero commento in cui si afferma:

" Un UpdatePanel non solo aggiorna i controlli che esso contiene, si aggiorna anche il valore ViewState con quello ottenuto dal server, dopo l'elaborazione. "

Anche se questo commento finale un po 'elusivamente-illustra la definizione di un 'postback parziale' utilizzando un ASP.NET UpdatePanel ... è non spiega quello che un parziale postback è (che, ancora una volta, è un processo molto diverso di quello di una normale chiamata AJAX).

Per approfondire ...


Microsoft ASP.NET AJAX UpdatePanel Uso di:
A un livello base, Microsoft AJAX supporta le richieste asincrone attraverso una pagina parziale-postback. postback parziali iterano attraverso lo stesso ciclo di vita pagina come pagina sincrono postback completo, ma solo le regioni o controlli specifici sulla pagina vengono aggiornate - ottenendo così rendering parziale della pagina . MICROSOFT ASP.NET AJAX dipende dal modello intercettore per generare e gestire un parziale postback. Al momento dell'inizializzazione, librerie Microsoft ASP.NET AJAX JavaScript aggiungere una serie di gestori di eventi client per intercettare le chiamate che normalmente avviare una pagina postback completo. Le funzioni del gestore intercettare chiamate postback da controlli registrati, generano un postback parziale, elaborare il contenuto di risposta e quindi aggiornare il contenuto della pagina in modo asincrono. Da MICROSOFT ASP.NET AJAX è costruito sull'architettura ASP.NET postback esistente che utilizza evento convalida e mantiene lo stato di visualizzazione durante il processo di parziale-postback. Il tuo standard 'normale' chiamata AJAX non fa queste cose!

Per dirla in breve ...

Microsoft ASP.NET AJAX utilizza 'normale' AJAX per ' Ajax-ify ' è pagine e ottenere parziali-aggiornamenti ... e così facendo, negozia e gestisce più volte dello stato di visualizzazione nel corso di una singola chiamata. Per questo motivo è chiamato un 'parziale postback' . Successivamente, questo è anche il motivo per cui in origine descritto l'UpdatePanel come un mezzo per rendere le pagine ' ajaxy ' (perché non è la stessa cosa utilizzando AJAX).


NORMAL chiamate AJAX:
richieste asincrone avviate utilizzando JavaScript nel browser crea una nuova connessione a un server. Sì ... questo può includere postback stateful a una pagina, ma anche le richieste di apolidi alle risorse a parte la pagina corrente. Tuttavia, nel caso di un postback asincrono, solo le informazioni che devono essere elaborati dal pagina corrente sul server è passato nella richiesta (ed è possibile controllare questo). Significato, il contenuto di l'intera pagina non hanno bisogno di essere presentati, senza vista dello stato deve essere gestito e la (nativo) in testa incorporato nella pagina-ciclo di vita può essere bypassato. Nel frattempo, un postback asincrono chiama solo server-eventi associati con l'elaborazione della richiesta corrente. Questo è il motivo per cui normale AJAX è molto più veloce di postback PARZIALI!

Questi Punti Illustrare ...

Non solo ciò che un 'postback parziale' è ... ma perché c'è una differenza tra un 'postback parziale' e una chiamata 'Ajax'. Quale è il motivo per cui questa è una risposta migliore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top