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
Poblema asp.net ajax creazione e lettura evento linkButton
lunedì 21 giugno 2010 - 11.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
muccio04
Profilo
| Newbie
33
messaggi | Data Invio:
lun 21 giu 2010 - 11:09
ciao a tutti,
ho un piccolo problema con ajax e asp.net.
io vorrei realizzare un panello ajax che si aggiorna ogni x secondi con all'interno e mostra i dati di un articolo:
- marca e modello
- testo descrittivo
- immagine
- link alla scheda dettagliata
il codice che ho utilizzato fino ad ora è questo:
<asp:UpdatePanel ID="updPnlEvidenza" runat="server">
<ContentTemplate>
<asp:Timer ID="TimerPnlEvidenza" runat="server" Interval="40000" OnTick="Page_Load"/>
<asp:Panel ID="pnlTitoloImgInEvidenza" runat="server"></asp:Panel>
<asp:Panel ID="pnlTestoImgInEvidenza" runat="server"/>
<asp:Panel id="pnlImgEvidenza" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
l'update panel è il contenitore, esterno il timer scandisce i secondi con i quali effettuare il refresh del box.
- pnlTitoloImgInEvidenza serve per contenere marca e modello dell'articolo che voglio mostrare.
- pnlTestoImgInEvidenza conterrà testo descrittivo e link
- pnlImgEvidenza conterrà l'immagine dell'articolo.
per ora riesco ad aggiornare titolo, testo e immagine, ma ho dei problemi con il link alla scheda dettagliata del prodotto, ossia lato server non
riesco a differenziare il click del mouse dall'evento onTick del timer, in quanto entrambe sono chiamate asincrone, qualcuno sa dirmi come posso fare?.
Grazie mille a tutti,
Simone
p.s. il codice lato server è questo:
protected void caricaArticoloInEvidenza()
{
//pulisco tutti i pannelli dalla mondezza che c'era prima
pnlImgEvidenza.Controls.Clear();
pnlTestoImgInEvidenza.Controls.Clear();
pnlTitoloImgInEvidenza.Controls.Clear();
//ottengo il numero degli articoli in evidenza
int numArticoli = contaArticoli();
//estraggo a sorte un numero da 0 a numArticoli
Random RandomClass = new Random();
int RandomNumber = RandomClass.Next(0, numArticoli);
String query = "SELECT * FROM inEvidenza";
//campi relativi all'articolo inEvidenza
String marcaModello = "marca e modello";
String descrizioneBreve = "descrizione breve";
String immagine = "immagine.jpg";
String ID = "";
//creo i literal control "marcaModello" e "descrizioneBreve"
LiteralControl litControlNomeArt = new LiteralControl(marcaModello);
LiteralControl litControlTestoImgEvidenza = new LiteralControl(descrizioneBreve +"<br/>");
//creo il link button per visualizzare il articolo in un'altra pagina e gli
//assegno commandname e funzione da eseguire in caso di click
LinkButton linkBtn = new LinkButton();
linkBtn.Text = "Details";
linkBtn.CssClass = "linkEvidenza";
linkBtn.CommandName = ID;
linkBtn.OnClientClick = "linkBtn_Click";
//creo l'immagine dell'articolo in evidenza
Image img = new Image();
img.ImageUrl = "public/img_Art_In_Evidenza/" + immagine;
img.CssClass = "imgInEvidenza";
Panel pnlDetailsInEvidenza = new Panel();
pnlDetailsInEvidenza.ID = "pnlDetailsInEvidenza";
//aggiungo a tutti i pannelli i literalcontrols, immagini e links
pnlTitoloImgInEvidenza.Controls.Add(litControlNomeArt);
pnlTestoImgInEvidenza.Controls.Add(litControlTestoImgEvidenza);
pnlTestoImgInEvidenza.Controls.Add(linkBtn);
pnlImgEvidenza.Controls.Add(img);
}
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
mar 22 giu 2010 - 11:51
ciao,
ma nel page_Load in che punto chiami la funzione caricaArticoloInEvidenza?
prova semplicemente a mettere
OnTick="caricaArticoloInEvidenza"
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
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 !