Sviluppo di controlli utente in un file di codice sottostante
Così come è possibile creare pagine Web Form utilizzando file di codice sottostanti, separando cioè la sintassi dell'interfaccia (nel file ASPX) dalla logica eseguita dalla pagina (il file di codice sottostante), è possibile fare altrettanto per creare i controlli utente. Le tecniche sono le stesse, con piccole differenze.
Nota Se per creare le applicazioni ASP.NET si utilizza uno strumento RAD (Rapid Application Development) come Visual Studio .NET, in base all'impostazione predefinita, tale strumento genererà i controlli utente e le pagine Web Form adottando tecniche di progettazione che prevedono l'impiego di codice sottostante. Quando si crea un'applicazione Web utilizzando Visual Studio .NET, tutte le pagine e i controlli utente dell'applicazione devono essere scritti con lo stesso linguaggio di programmazione.
Per sviluppare controlli utente in un file di codice sottostante
Creare un file di codice sottostante che includa gli spazi dei nomi a cui è necessario che acceda il controllo utente. È opportuno includere almeno gli spazi dei nomi System e System.Web.UI, oltre agli altri spazi dei nomi richiesti dal controllo utente.
Imports System Imports System.Web.UI Imports System.Web.UI.WebControls [C#] using System; using System.Web.UI; using System.Web.UI.WebControls;
Dichiarare una classe che eredita dalla classe UserControl e scrivere codice che fornisca le funzionalità desiderate. Includere i metodi di gestione eventi che si desidera scrivere per il controllo utente. Dichiarare inoltre istanze pubbliche dei controlli server ASP.NET che si intende utilizzare nel controllo utente.
Public Class MyCodeBehind Inherits UserControl Public Name As TextBox Public Result As Label Public Sub SubmitBtn_Click(sender As Object, e As EventArgs) Result.Text = "Hi, " & Name.Text & ", welcome to ASP.NET!" End Sub End Class [C#] public class MyCodeBehind : UserControl { public TextBox Name; public Label Result; public void SubmitBtn_Click(Object sender, EventArgs e) { Result.Text = "Hi, " + Name.Text + ", welcome to ASP.NET!"; } }
Assegnare un nome al file di codice sottostante, assicurandosi di aggiungervi un'estensione che indichi il linguaggio in cui è stato sviluppato il file. In caso contrario, si verificherà un errore di compilazione. In questo esempio il controllo utente sviluppato in Visual Basic è denominato
UserControl.vb
e quello sviluppato in C# è denominatoUserControl.cs
.Creare un file ASCX utilizzando la direttiva @ Control per indicare il nome della classe ereditata dal controllo utente e il percorso del file di origine creato al passaggio 1. Includere i controlli server e l'eventuale testo che si desidera venga visualizzato dal controllo utente. Quando si dichiara l'attributo ID di ciascun controllo server, assicurarsi che corrisponda al nome dell'istanza creata nel file di codice sottostante. L'attributo
ID
dell'elemento<asp:textbox/>
riportato di seguito è ad esempioName
e corrisponde al controllo serverName
TextBox del passaggio 2.<%@ control inherits = "MyCodeBehind" src = "UserControl.vb" %> <p>Name: <asp:textbox id="Name" runat="server"/> <br> <asp:button text="Click Me" OnClick="SubmitBtn_Click" runat="server"/><br> <asp:label id="Result" runat = "server" /> [C#] <%@ control inherits = "MyCodeBehind" src = "UserControl.cs" %> <p>Name: <asp:textbox id="Name" runat="server"/> <br> <asp:button text="Click Me" OnClick="SubmitBtn_Click" runat="server"/><br> <asp:label id="Result" runat = "server" />
Includere il controllo utente nelle pagine Web Form in cui si desidera visualizzarne le funzionalità. Per ulteriori informazioni, vedere Inclusione di un controllo utente in una pagina Web Form.
Vedere anche
Introduzione ai controlli utente Web Form | Modello di codice di Web Form | Inclusione di un controllo utente in una pagina Web Form | @ Control | UserControl