Procedura dettagliata: utilizzo di codice condiviso nei siti Web in Visual Web Developer
Aggiornamento: novembre 2007
Durante la creazione di siti Web, Visual Web Developer consente di creare facilmente il codice condiviso nei file di classe, che può essere utilizzato per pagine nell'applicazione, anche senza la compilazione dei file di classe.
Nota: |
---|
Se si dispone di assembly esistenti (file dll), è possibile aggiungerli alla directory Bin del sito Web e farvi automaticamente riferimento dal sito Web. |
In questa procedura dettagliata verrà creata una classe semplice e verrà utilizzata in una pagina Web ASP.NET.
Di seguito sono elencate alcune delle attività illustrate nella procedura dettagliata:
Aggiunta di una classe a un sito Web.
Riferimento automatico al componente in Visual Web Developer.
Prerequisiti
Per completare questa procedura dettagliata, è necessario disporre dei seguenti elementi:
Visual Web Developer (Visual Studio).
.NET Framework.
Per questa procedura dettagliata si presuppone una conoscenza generale dell'utilizzo di Visual Web Developer. Per un'introduzione, vedere Procedura dettagliata: creazione di una pagina Web di base in Visual Web Developer.
Creazione del sito e della pagina Web
Se è già stato creato un sito Web in Visual Web Developer (ad esempio, completando Procedura dettagliata: creazione di una pagina Web di base in Visual Web Developer o Procedura dettagliata: creazione di un sito Web IIS locale in Visual Web Developer), è possibile utilizzare quel sito Web e passare alla sezione successiva. In caso contrario, creare un sito e una pagina Web nuovi attenendosi alla procedura riportata di seguito.
Per creare un sito Web di file system
Aprire Visual Web Developer.
Scegliere Nuovo sito Web dal menu File. In Visual Web Developer Express Edition, scegliere Nuovo dal menu File, quindi fare clic su Sito Web.
Viene visualizzata la finestra di dialogo Nuovo sito Web.
In Modelli Visual Studio installati, fare clic su Sito Web ASP.NET.
Nella casella Percorso, immettere il nome della cartella in cui salvare le pagine del sito Web.
Di seguito è riportato un esempio:
Se si sta creando un sito Web di file system, digitare C:\SampleSite.
Se è stato installato IIS e si sta creando un sito Web HTTP, digitare https://localhost/SampleSite.
Nell'elenco Linguaggio selezionare il linguaggio di programmazione da utilizzare.
Scegliere OK.
In Visual Web Developer sarà creato il sito Web e verrà aperta una nuova pagina denominata Default.aspx.
Creazione di una classe condivisa
È possibile creare classi riutilizzabili salvandole in una cartella denominata App_Code. Visual Web Developer consente il monitoraggio della cartella App_Code e quando vengono aggiunti nuovi file di classe, rende disponibili i componenti al resto del codice nell'applicazione. Per impostazione predefinita, le classi della cartella App_Code sono compilate in un assembly singolo in fase di esecuzione.
Nota: |
---|
Inserire nella cartella App_Code solo le classi (e altri tipi condivisi supportati) e non pagine, controlli utente Web o altri file che contengono elementi non di codice. |
Per creare una cartella App_Code
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del sito Web, scegliere Aggiungi cartella, quindi Cartella App_Code.
A questo punto è possibile aggiungere il componente al sito.
Per creare una classe condivisa nella cartella App_Code
In Esplora soluzioni, fare clic con il pulsante destro del mouse su App_Code, quindi scegliere Aggiungi nuovo elemento.
Nota: Accertarsi di creare il nuovo elemento nella cartella App_Code e non nella cartella principale del sito Web.
In Modelli Visual Studio installati fare clic su Class.
Nella casella Nome, digitare SampleClass1.
Nell'elenco Linguaggio, selezionare il linguaggio utilizzato dalla pagina Web che verrà impiegato per la classe condivisa.
Fare clic su Add.
In Visual Web Developer viene aperto il nuovo file di classe nell'editor.
Creare una classe con una singola proprietà denominata testString copiando il codice riportato di seguito nel file di classe:
Public Class SampleClass1 private testStringValue As String Public Property testString as String Get return testStringValue End Get Set (Value as String) testStringValue = value End Set End Property End Class
using System; public class SampleClass1 { public SampleClass1() { } private string testStringValue; public string testString { get { return testStringValue; } set { testStringValue = value; } } }
Salvare e chiudere il file.
Si noti che il file non è archiviato come file compilato.
Nota: Quando si utilizzano classi condivise nella cartella App_Code, non è necessario salvare i componenti affinché in Visual Web Developer venga conservato il riferimento ai componenti. Se il componente e la pagina Web sono nello stesso linguaggio di programmazione, in Visual Web Developer il riferimento al componente viene conservato in memoria. In questo caso, si sta chiudendo il file in quanto è terminato l'utilizzo.
Utilizzo della classe condivisa
Il passaggio successivo consiste nell'utilizzare la classe condivisa in una pagina Web ASP.NET. È possibile utilizzare la pagina Default.aspx costruita durante la creazione del sito Web.
Per utilizzare la classe condivisa
Aprire la pagina Default.aspx e passare alla visualizzazione Progettazione.
Nota: Se non si dispone di una pagina Default.aspx, è possibile utilizzare una pagina diversa. In alternativa, è possibile aggiungere una nuova pagina al sito Web. Per eseguire questa operazione, in Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del sito Web e scegliereAggiungi nuovo elemento, quindi Web Form. Nell'elenco Linguaggio, immettere lo stesso linguaggio di programmazione utilizzato per il componente e scegliere OK.
Trascinare i controlli TextBox, Label e Button nella pagina dalla cartella Standard della Casella degli strumenti.
Nota: Per questa procedura dettagliata, il layout della pagina non è importante.
Fare doppio clic sul controllo Button per creare un gestore Click per tale controllo.
Il codice del gestore click dovrebbe risultare simile al seguente:
Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click End Sub
protected void Button1_Click(object sender, EventArgs e) { }
Nel gestore, digitare:
Dim sc As New
SampleClass1 sc = new
Quando si preme la BARRA SPAZIATRICE dopo aver digitato New o new, in Visual Web Developer viene visualizzato un elenco delle classi disponibili. Nell'elenco è inclusa la classe creata nella sezione precedente, vale a dire SampleClass1.
Terminare l'istruzione digitando SampleClass1 o facendo doppio clic su di essa nell'elenco in modo che l'istruzione legga quanto riportato di seguito:
Dim sc As New SampleClass1
SampleClass1 sc = new SampleClass1();
Premere INVIO e digitare:
sc.
Non appena viene digitato il punto, in Visual Web Developer viene visualizzato di nuovo un elenco di membri per selezionare un membro dalla classe di esempio.
Terminare l'istruzione e il gestore nel modo riportato di seguito:
sc.testString = TextBox1.Text Label1.Text = sc.testString
sc.testString = TextBox1.Text; Label1.Text = sc.testString;
Salvare i file.
Esecuzione del test della pagina e della classe
Per vedere che la classe condivisa è in uso si può eseguire il sito Web.
Per eseguire il test della pagina e del componente
Aprire la pagina Default.aspx.
Premere CTRL+F5 per eseguire la pagina.
Quando la pagina è visualizzata nel browser, digitare dei dati nella casella di testo e fare clic sul pulsante.
In questo modo viene impostata una proprietà nella classe semplice che viene visualizzata nel controllo Label.
Se si utilizza Esplora risorse di Microsoft per esaminare la directory in cui è posizionato il sito Web, verrà visualizzata la pagina e la cartella App_Code. Si noti che non esiste alcun file dll o altro codice eseguibile nella cartella App_Code o in qualsiasi punto della directory principale del sito Web. Invece in Visual Web Developer è stata compilata la pagina e la classe condivisa in modo dinamico.
Passaggi successivi
In questa procedura dettagliata viene illustrata la modalità per aggiungere classi condivise a un sito Web senza la compilazione di componenti. È possibile utilizzare le classi condivise in modi differenti. Può, ad esempio, essere necessario:
Utilizzare un componente compilato.
Se si dispone di un assembly utilizzabile nel sito Web, creare una cartella Bin e copiarvi il file dll. È possibile fare riferimento all'assembly nella propria pagina nello stesso modo cui è stato fatto riferimento al componente creato in questa procedura dettagliata.
Creare un componente per l'accesso ai dati.
For more information, see Procedura dettagliata: associazione ai dati a un oggetto business personalizzato.
Creare un servizio Web.
For more information, see Procedura dettagliata: creazione e utilizzo di un servizio Web ASP.NET in Visual Web Developer.