2 messaggi dal 21 dicembre 2007
Salve a tutti,

sto realizzando una chat in asp net 2.0 facendo visualizzare i messaggi in una textbox di sola lettura.
Il problema sorge quando il testo eccede la grandezza della textbox e compare la barra di scorrimento verticale. a questo punto, ad ogni messaggio inserito la textbox torna all'inizio e mi tocca far scorrere la barra manualmente.
Come si fa a farla scorrere in automatico???

vi posto il codice della gestione dell'evento

protected void buttonSend_Click(object sender, EventArgs e)
{
messageBox.Text += HttpContext.Current.User.Identity.Name+": "+ inputText.Text + "\n";
inputText.Text = "";
inputText.Focus();
}

protected void inputText_TextChanged(object sender, EventArgs e)
{
messageBox.Text += HttpContext.Current.User.Identity.Name + ": " + inputText.Text + "\n";
inputText.Text = "";
inputText.Focus();
}

a tal proposito volevo porvi un ulterione problema:
quando il messaggio viente spedito tramite il pulsante "return" della tastiera va tutto bene ma non appena lo spedisco premendo il pulsante invia del form mi scatena un doppio evento scrivendomi prima il messaggio che volevo inviare e poi un messaggio vuoto.
Come si può ovviare a ciò???

Grazie mille anticipatamente a tutti!!!
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
chris81 wrote:
sto realizzando una chat in asp net 2.0 facendo visualizzare i messaggi in una textbox di sola lettura.
Il problema sorge quando il testo eccede la grandezza della textbox e compare la barra di scorrimento verticale. a questo punto, ad ogni messaggio inserito la textbox torna all'inizio e mi tocca far scorrere la barra manualmente.
Come si fa a farla scorrere in automatico???

Javascript. Io avevo questa funzione che avevo preso da qualche parte:
<script type="text/javascript">
function bottomtext(contr)
{
var ctr=window.document.getElementById(contr);
if (ctr==null)
{
return;
}
var rng=ctr.createTextRange();
rng.collapse(false);
rng.select();
}
</script>

E' sufficiente, da javascript, passare come nome del parametro l'id client del controllo per trovarsi in fondo alla textbox.

quando il messaggio viente spedito tramite il pulsante "return" della tastiera va tutto bene ma non appena lo spedisco premendo il pulsante invia del form mi scatena un doppio evento scrivendomi prima il messaggio che volevo inviare e poi un messaggio vuoto.
Come si può ovviare a ciò???

Si dovrebbe vedere gli eventi collegati ai webcontrol. Il codice nel page_load è bloccato al postback con il classico "if page.ispostback..."?

Grazie mille anticipatamente a tutti!!!

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.