vedi se ti può andare: è in basic ma non avrai difficoltà a tradurlo
codice:
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
'dichiaro list variabile privata di tipo ArrayList
Private list As ArrayList
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
'imposto il focus nel textbox
Me.TextBox1.Focus()
'imposto Button1 pulsante predefinito quando si preme enter nel textbox
SetButton(TextBox1, Button1)
If Me.ViewState("dati") Is Nothing Then
'se non c'è "dati" nel viewstate, creo una nuova istanza di ArrayList
list = New ArrayList()
Else
'altrimenti recupero "dati" e la deserializzo in list
list = DirectCast(Me.ViewState("dati"), ArrayList)
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
'aggiungo alla lista il valore del textbox
Me.list.Add(Me.TextBox1.Text)
'azzero il textbox
Me.TextBox1.Text = ""
'memorizzo list nel viewstate
Me.ViewState("dati") = list
'dato che voglio stampare la lista dei valori immessi, creo un stringbuilder
Dim sb As New StringBuilder()
'aggiungo il numero di elementi della lista
sb.Append(String.Format("n° {0} elementi nella lista
", list.Count))
For i As Integer = 0 To list.Count - 1
'aggiungo gli elementi della lista
sb.Append(Me.list(i).ToString() & "
")
Next
'visuaalizzo la lista nel literal
Me.Literal1.Text = sb.ToString()
End Sub
Sub SetButton(ByVal txt As TextBox, ByVal btn As Button)
'imposto l'evento client onkeydown nel textbox.
'quando si preme ENTER avviene il postback con Button1
Dim formName As String
Dim c As Control = btn.Parent
While (Not (TypeOf c Is System.Web.UI.HtmlControls.HtmlForm))
c = c.Parent
End While
If TypeOf c Is System.Web.UI.HtmlControls.HtmlForm Then
formName = c.ClientID
Else
formName = "forms[0]"
End If
Dim jsString As String
jsString = "if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {document." + formName + ".elements['" + btn.UniqueID + "'].click();return false;} else return true; "
txt.Attributes.Add("onkeydown", jsString)
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Pagina senza titolo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<hr />
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
</form>
</body>
</html>