Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Questa callback mi sta facendo impazzire
giovedì 13 aprile 2006 - 22.29
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
paolopat
Profilo
| Junior Member
141
messaggi | Data Invio:
gio 13 apr 2006 - 22:29
Ciao a tutti, seguendo un corso video di asp.net 2.0, è illustrato il seguente esempio che non vuole proprio funzionare :
ho un database con dei titoli azionari, la pagina viene caricata con i dati la prima volta ed ogni 5 secondi dovrebbe richiamare una funzione che aggiorna i dati senza eseguire il postback della pagina...tutto questo facendo una callback :
public partial class _Default : System.Web.UI.Page, ICallbackEventHandler
{
private string r;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Invoco il giusto adapter...
TitoliTableAdapter tta = new TitoliTableAdapter();
BorsaDataManager.TitoliDataTable dt = tta.GetValoriTitoli();
gvTitoli.DataSource = dt;
gvTitoli.DataBind();
}
string cbScript = "window.setInterval(" + MyCallbackReference + ",5000)";
//Registrazione script di callback
ClientScript.RegisterStartupScript(this.GetType(),"startupscript" ,string.Format("<script>window.setInterval(\"{0}\",5000)</scrip>", MyCallbackReference));
//ClientScript.RegisterStartupScript(this.GetType(),"startupscript",cbScript,true);
}
protected string MyCallbackReference
{
get
{
return ClientScript.GetCallbackEventReference(this, null, "aggiornaDati", null, true);
}
}
#region ICallbackEventHandler Members
public string GetCallbackResult()
{
return r;
}
public void RaiseCallbackEvent(string eventArgument)
{
r = "Chiamata callback..";
}
#endregion
}
Ed una parte della pagina è la seguente :
<script type="text/javascript">
function aggiornaDati(risultato,contesto)
{
alert(risultato);
alert(contesto);
}
</script>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvTitoli" runat="server" BackColor="White" BorderColor="#999999"
BorderStyle="None" BorderWidth="1px" CellPadding="3" Font-Names="Verdana" Font-Size="8pt"
GridLines="Vertical">
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="#DCDCDC" />
</asp:GridView>
</div>
</form>
Non fate caso alla variabile "r" mi è servita fino ad oggi per capire se almeno entrasse nel RaiseCallbackEvent facendo il debug..ma niente...C'è un errore al caricamento della pagina...dovuto a qualcosa nel javascript...però nel corso video funziona correttamente!! Come mai ?
PS : la funzione aggiornaDati dovrebbe aggiornare i dati della pagina, però ora ci sono solo due alert, per provare che venga eseguita ogni 5 secondi ma non c'è niente da fare.
positron
Profilo
| Newbie
14
messaggi | Data Invio:
mar 18 apr 2006 - 09:10
Ciao, non ho visto il codice per intero. Per ora ho solo notato che la chiusura del tag </script> e' scorretta (manca la lettera "t" alla fine).
In attesa di suggerimenti piu' approfonditi...
Paolo Marini
paolopat
Profilo
| Junior Member
141
messaggi | Data Invio:
mar 18 apr 2006 - 20:08
dopo ore di lettura e rilettura me ne sono accorto anche io...grazie mille
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !