27 messaggi dal 07 luglio 2008
Ciao a tutti.

Premetto che sto studiando ASP.NET e ho questo problemino:

Una pagina ASPX con un form e una casella di testo (textbox1)

vorrei passare il testo in essa contenuto a una variabile così nel file vb ho messo queste righe:

Imports Microsoft.VisualBasic

Partial Class cTest
    Inherits System.Web.UI.Page
    Dim x As String = textbox1.Text
End Class


Ma ottengo il seguente errore:

Object reference not set to an instance of an object.

Qualcuno saprebbe aiutarmi?

Dall'errore deduco che bisogna istanziare l'oggetto textbox1 ma non so come fare...

Grazie.
Ciao, a parte che l'esempio che ti indichero è in c#, il concetto è lo stesso...

innanzitutto, quando si vuole valorizzare una variabile, si dovrebbe utilizzare un evento, che puo essere durante il loading della pagina o al click di un pulsante. Ti mostro come fare questo con il pulsante visto che ha logica insieme alla textbox.

Diciamo che nel markup hai la tua textBox ed il tuo button cosi:

<asp:TextBox ID="txt" runat="server" /> <asp:Button ID="btnClick" OnClick="btnClick_click" runat="server">Clicca per popolare la tua variabile</asp:TextBox>


Nel code file dovrai richiamare la funzione che scatena l'evento btnClick_click, in questo modo:

protected void btnClick_click (object sender, EventArgs e)
{
    var myVariabile = txt.Text;
}


In questo modo, anche se non vedrai nulla a video (perche non lo sta facendo) la variabile sarà valorizzata con il testo immesso nella textBox.

Puoi verificarlo aggiungendo una label al tuo markup cosi:
...

<asp:Label ID="lbl" runat="server"></asp:Label>



e nel code file invece che popolare la variabile, popolare la tua label, cosi:
...
lbl.Text = txt.Text;


Spero ora ti sia piu chiaro la dinamica...

Ciao!

Creazione Siti Vicenza
Posizionamento Siti - SEO
27 messaggi dal 07 luglio 2008
Ciao e grazie mille per la risposta.

In effetti io ho semplificato tutto il concetto per rendere semplice e chiara la mia domanda.

Ma andando nello specifico come posso assegnare a una proprietà il valore contenuto in una text box?

Usando una struttura del tipo:

partial class cTest

Public property MioTesto as String = TextBox1.Text

End Class


Oppure:

partial class cTest

Public property MioTesto as String

Sub New()
MioTesto = TextBox1.text
End Sub

End Class


In tutti e 2 i casi ottengo l'errore di cui sopra.

Come posso fare?

Ciao e grazie
Io ti consiglio di leggere un po' di teoria prima di avventurarti ;)
HAi compilato?
Puoi riportare anche il resto del codice (aspx e altre partial class)?

Ormai programmano tutti... ma la professionalità appartiene a pochi
27 messaggi dal 07 luglio 2008
La teoria la stò leggendo dal libro ASP.NET 4.0 in C# e VB scritto dagli autori di aspitalia.com ma non trovo le info...

Comunque E' molto semplice.

Ho una pagina aspx con 1 form e 1 textbox.

Non ci sono altre partial class o altro codice nel codefile oltre a quello riportato.

Questo perchè si tratta di un test e ho solo bisogno di capire come passare a una proprietà il valore contenuto nella textbox.

Tutto qua. Ho provato con i 2 esempi del mio precedente post ma ottengo l'errore di cui sopra.

Utilizzo Visual Web Developer 2010 express e IIS 7.5

Grazie ancora per il supporto.

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.