The Official Microsoft ASP.NET Site
QuickStart - QuickStart in italiano

<%-- Commenti
--%>
Ciò che è compreso tra <%-- e --%> viene filtrato ed è visibile solo nel file del server originale, anche se contiene altre direttive ASP.NET.
<%--
  <asp:calendar id="MyCal" runat=server/>
--%>
<-- #Include File="Location.inc" --> L'istruzione #Includes lato server consente agli sviluppatori di inserire i contenuti non elaborati di un file specifico in qualunque punto di una pagina ASP.NET.
<!-- #Include File="Header.inc" -->
linguaggi Per i linguaggi JScript e C++ è necessaria la segnalazione al server PRIMA di <html>.
Per VisualBasic non è necessaria.
<%@ Page Language="JScript"%> 
<%@ Page Language="C#"%> 
<% %>
rendering
Il codice racchiuso da <% ... %> viene semplicemente eseguito, mentre le espressioni che includono un segno di uguale, <%= ... %>, vengono valutate e il risultato è emesso come contenuto. Di conseguenza il rendering di <%="Hello World" %> è identico a <% Response.Write("Hello World"); %> nel codice C#.

<% For I = 0 to 7 %>
<font size="<%=I%>"> Hello World! </font><br>
<% Next %>

Nota: per i linguaggi che utilizzano segni per terminare o separare le istruzioni (il punto e virgola (;) in C#, ad esempio), è importante collocare correttamente tali segni in base al rendering desiderato per il codice.

<script runat=server> <script language="VB" runat=server>
Function Subtract(num1 As Integer, num2 As Integer) As Integer
Return(num1 - num2)
End Function
</script>
<%
number = subtract(number, 1)
%>

<script language="JScript" runat=server>
function subtract(num1:int, num2:int) : int {
return num1 - num2;
}
</script>
<%
number = subtract(number, 1);
%>

<script language="C#" runat=server>
int subtract(int num1, int num2) {
return num1 - num2;
}
</script>
<%
number = subtract(number, 1);
%>

eventi I controlli server ASP.NET possono esporre e generare eventi server, che possono essere gestiti. Occorre connettere in modo dichiarativo un evento a un controllo, dove il nome dell'attributo di un evento collegato indica il nome dell'evento e il valore dell'attributo indica il nome del metodo da chiamare. L'esempio di codice seguente illustra come connettere un evento OnClick a un controllo pulsante.
<script language="VB" runat="server"> 
   Sub EnterBtn_Click(Sender As Object, E As EventArgs) 
	Message.Text = "" & Name.Text & "ASP.NET" 
   End Sub 
</script> 
<body>
<form action="controls3.aspx" runat=server>Immettere il proprio nome: 
<asp:textbox id="Name" runat=server/> 
<asp:button text="Immetti" Onclick="EnterBtn_Click" runat=server/><P>
<asp:label id="Message" runat=server/></form> 
Si possono connettere e gestire diversi eventi in un'unica pagina.
sintassi dei controlli I controlli server personalizzati ASP.NET consentono agli sviluppatori di pagine di generare in modo dinamico interfacce utente (UI, User Interface) HTML e di rispondere alle richieste dei client.
I tag dei controlli si distinguono dagli altri perché contengono un attributo "runat=server".
Il controllo dell'esempio seguente corrisponde alla classe Label nello spazio dei nomi System.Web.UI.WebControls. Aggiungendo un tag con ID "Message", viene creata un'istanza di Label in fase di esecuzione:
<asp:label id="Message" font-size=24 runat="server"/>
È quindi possibile accedere al controllo utilizzando lo stesso nome. La riga seguente imposta la proprietà Text del controllo.
Message.Text = "Welcome to ASP.NET"
La proprietà Text di un controllo asp:label si può impostare a livello di codice all'interno dell'evento Page_Load.
<script language="VB" runat="server"> 
   Sub Page_Load(Sender As Object, E As EventArgs) 
	Message.Text = "Data ultimo accesso: " & DateTime.Now 
   End Sub 
</script> 
<body>
<asp:label id="Message" font-size="24" font-bold="true" runat=server/> 
sintassi dei controlli HTML I controlli server HTML consentono agli sviluppatori di pagine di gestire elementi HTML a livello di codice all'interno di una pagina. Un tag di controllo server HTML si distingue dagli elementi HTML del client per mezzo di un attributo "runat=server".

L'esempio seguente illustra come sia possibile utilizzare un controllo server HTML all'interno di una pagina ASP.NET.

<script language="VB" runat=server> 
    Sub Page_Load(Sender As Object, E As EventArgs) 
	Message.InnerHtml = "Portale ASP.NET" 
    End Sub 
</script> 
<body> 
<span id="Message" style="font-size:24" runat=server/> 
</body> 
associazione dati: <%# %> Il supporto dell'associazione dati incorporato in ASP.NET consente agli sviluppatori di pagine di associare gerarchicamente le proprietà dei controlli ai valori dei contenitori di dati. Il codice che si trova all'interno di un blocco di codice <%# %> viene eseguito solamente quando viene richiamato il metodo DataBind del contenitore del controllo padre. L'esempio seguente illustra come utilizzare la sintassi di associazione dati all'interno di un controllo <asp:datalist runat=server>. All'interno del controllo datalist viene specificato il modello per un elemento. Il contenuto del modello dell'elemento viene specificato utilizzando un'espressione di associazione dati e Container.DataItem fa riferimento all'origine dati utilizzata dal datalist MyList.
<asp:datalist id="MyList" runat=server>
  <ItemTemplate>
    Here is a value: <%# Container.DataItem %>
  </ItemTemplate>
</asp:datalist>
In questo caso l'origine dati del controllo MyList viene impostata a livello di codice, quindi viene chiamato DataBind().
Sub Page_Load(sender As Object, e As EventArgs)
  Dim items As New ArrayList()

  items.Add("One")
  items.Add("Two")
  items.Add("Three")

  MyList.DataSource = items
  MyList.DataBind()
End Sub
La chiamata al metodo DataBind di un controllo determina un'analisi di struttura ricorsiva dal controllo verso il basso all'interno della struttura. L'evento DataBinding viene generato su ciascun controllo server nella gerarchia e le espressioni di associazione dati nel controllo vengono valutate di conseguenza. Quindi, se viene chiamato il metodo DataBind della pagina, verrà chiamata ogni espressione di associazione dati all'interno della pagina.
tag Object I tag Object consentono agli sviluppatori di pagine di dichiarare e creare istanze di variabili utilizzando una sintassi dichiarativa basata sui tag. L'esempio seguente illustra come sia possibile utilizzare il tag Object per creare un'istanza di una classe ArrayList.

L'oggetto sarà creato automaticamente in fase di esecuzione e sarà possibile accedervi tramite l'ID "items" [e/o come nell'esempio recedente].

<object id="items" class="System.Collections.ArrayList" runat="server"/>

<script language="VB" runat=server> 
Sub Page_Load(sender As Object, e As EventArgs)
  items.Add("One")
  items.Add("Two")
  items.Add("Three")
  MyList.DataSource = items
  MyList.DataBind()
End Sub
<script> 
http refresh con hyperlink Si può utilizzare il controllo <asp:hyperlink runat=server>.
L'esempio illustra inoltre come è facile accedere ai parametri di stringa dalla pagina di destinazione.
<script language="VB" runat="server"> 
Sub Page_Load(Sender As Object, E As EventArgs) 
   Dim RandomGenerator As Random 
   RandomGenerator = New Random(DateTime.Now.Millisecond) 
   Dim RandomNum As Integer 
   RandomNum = RandomGenerator.Next(0, 3) 
   Select RandomNum 
	Case 0: Name.Text = "Scott" 
	Case 1: Name.Text = "Fred" 
	Case 2: Name.Text = "Adam" 
   End Select 
   AnchorLink.NavigateUrl = "target.aspx?name=" & System.Web.HttpUtility.UrlEncode(Name.Text) 
End Sub 
</script> 
<body>
<asp:hyperlink id="AnchorLink" font-size=24 runat=server> Hi <asp:label id="Name" runat=server/> 
please click this link! </asp:hyperlink> 
la pagina target.aspx sarà:
<script language="VB" runat="server"> 
Sub Page_Load(Sender As Object, E As EventArgs) 
   If Not (Page.IsPostBack) 
	NameLabel.Text = Request.QueryString("Name") 
   End If 
End Sub 
</script> 
<body>
Hi <asp:label id="NameLabel" runat=server/>! 
http refresh con Response.Redirect Si può utilizzare il controllo <asp:hyperlink runat=server>.
L'esempio illustra il metodo Response.Redirect e come passare parametri a un'altra pagina.
<script language="VB" runat="server"> 
Sub EnterBtn_Click(Sender As Object, E As EventArgs) 
' Navigate to a new page (passing name as a querystring argument) if 
' user has entered a valid name value in the  
   If Not (Name.Text = "") 
	Response.Redirect("Controls_NavigationTarget.aspx?name=" & System.Web.HttpUtility.UrlEncode(Name.Text)) 
   Else 
	Message.Text = "Immettere il proprio nome nella casella di testo." 
   End If 
End Sub 
</script> 
<body> 
<form action="target2.aspx" runat=server>  Immettere il proprio nome: 
<asp:textbox id="Name" runat=server/> 
<asp:button text="Immetti" Onclick="EnterBtn_Click" runat=server/> <p> 
<asp:label id="Message" forecolor="red" font-bold="true" runat=server/> </form> 
la pagina target2.aspx sarà:
<script language="VB" runat="server"> 
Sub Page_Load(Sender As Object, E As EventArgs) 
   If Not (Page.IsPostBack) 
	NameLabel.Text = Request.Params("Name") 
   End If 
End Sub 
</script> 
<body> 
Hi <asp:label id="NameLabel" runat=server/>!