Ecco un semplice esempio di codice VB.NET per inviare una email utilizzando l’SMTP del server su cui poggiano le pagine ASP.NET:

<%@page language="VB" %>
<%@Import Namespace="System.Web.Util" %>

<script language="VB" runat="server">

Sub inviaEmail(Obj As Object, E As EventArgs)
  ' Crea l'oggetto MailMessage
  Dim mailObj AS new MailMessage

  ' Imposta i parametri
  mailObj.From = "mittente@email.com"
  mailObj.To = "destinatario@email.com"
  mailObj.Subject = "soggetto della mail"
  mailObj.Body = "testo della mail"

  ' E-Mail in formato HTML 
  mailObj.BodyFormat = MailFormat.Html

  ' Invia la mail
  SmtpMail.Send(mailObj)
End Sub

</script> 

Di default tutti i server controls inseriti nelle pagine memorizzano il loro stato nella pagina (tramite la variabile __VIEWSTATE).

È necessario controllare attentamente la pesantezza della pagina, perché utilizzando diversi server controls, facilmente si finisce con l’appesantirne eccessivamente la dimensione.

Per evitare tutto ciò, basta settare la proprietà EnableViewState su False:

<asp:CheckBox id=”miaCheck” runat=”server” EnableViewState=”False” />

L’evento Page_Load() viene eseguito ogni qualvolta la pagina viene richiesta dall’utente. Per evitare questa situazione, bisogna semplicemente controllare lo stato della proprietà IsPostBack:

<script language=”VB” runat=”server”>

Sub Page_Load(Source As Object, E As EventArgs)

if not Page.IsPostBack then

‘Questo codice viene eseguito solo una volta

….

end if

End Sub

</script>

Per convertire una stringa in intero ci si può avvalere del metodo Parse della classe Int32:

Dim numStringa as String = “78”
Dim strNumero as Integer = Int32.Parse(numStringa)

Se usiamo dati che vengono da sorgenti non sempre attendibili prepariamoci a gestire un’eccezione dovuta alla formattazione non conforme della stringa (es. “a78”)

Supponiamo di immagazzinare in una variabile di tipo DateTime la data e l’ora corrente con una riga di codice tipo:

DateTime Adesso = DateTime.Now;

Possiamo formattare la data e l’ora contenute nella variabile “Adesso” per restituire all’utente della nostra applicazione una data in un formato leggibile ed utile. Partendo da un valore di data 04/12/2001 10.53.53, se ad esempio scriviamo:

Label1.Text = Adesso.ToString(“d”);

otteniamo: 04/12/2001. Vediamo altri casi:

Label1.Text = Adesso.ToString(“D”); –> martedì 4 dicembre 2001

Label1.Text = Adesso.ToString(“t”); –> 10.53

Label1.Text = Adesso.ToString(“m”); –> 04 12

Label1.Text = Adesso.ToString(“y”); –> dicembre 2001

È anche possibile creare delle formattazioni completamente personalizzate, si consulti a tal proposito la tabella DateTimeFormatInfo Class nella documentazione del .Net Framework

Questo script mostra come collegarsi ad un web server remoto richiedendo un servizio di date e orari usando la classe TcpClient

<%@page language=”C#” %>

<%@ Import Namespace=”System.IO” %>

<%@ Import Namespace=”System.Net.Sockets” %>

<script runat=”server”>

void Page_Load( object Sender, EventArgs e )

{

try {

// Mi connetto ad un time server, porta 13

TcpClient myClient = new TcpClient(“ntp2a.mcc.ac.uk”, 13);

// recupero con un oggetto stream la data e l’ora e la metto

scrivo nell’etichetta

Stream myStream = myClient.GetStream();

StreamReader sr = new StreamReader(myStream);

Label1.Text = sr.ReadToEnd();

}

catch (Exception ex) {

// Scrive l’errore eventuale nella etichetta

Label1.Text = ex.Message;

}

}

</script>

<html>

<body>

<asp:Label id=”Label1″ runat=”server” />

<HR>

</body>

</html>

Un semplice script che mostra come concatenare stringhe in C#

Possiamo usare l’operatore “+”:

String str1 = “Hello”;

String str2;

str2 = str1 + ” World”

Per incrementare le prestazioni della nostra applicazione, nel caso in cui ci siano spesso operazioni di modifica di stringhe è consigliabile usare l’oggetto StringBuilder.

StringBuilder MyStringBuilder = new StringBuilder(“Hello World!”);

MyStringBuilder.Insert(6,”Cruel “);

In questo esempio viene inserita la parola Cruel in sesta posizione creando così “Hello Cruel World!”

Guida ASP.net e Linguaggio C#
  • 12 lezioni
  • Facile

Guida che, partendo da un livello base, introduce C# (che si legge C sharp), il linguaggio di programmazione che, tra l’altro, è stato usato per scrivere la piattaforma .NET