Nwlapcug.com


Come creare controlli Web personalizzati

Come creare controlli Web personalizzati


Controlli Web personalizzati sono completamente personalizzabili e offrono supporto design-time. Possono anche essere aggiunti al tuo Integrated Development Environment (IDE) della casella degli strumenti che è possibile riutilizzarli in altri progetti. Al fine di riutilizzare il controllo Web personalizzato in altri progetti, si inizia creando un progetto di libreria di controlli Web NET. Quindi, per riutilizzarli in altri progetti, è impostare un riferimento alla libreria a collegamento dinamico (DLL) nel progetto. Questo esempio crea un'etichetta di benvenuto personalizzata utilizzando Visual c#.

Istruzioni

Creare il controllo Web personalizzato benvenuto Label

1

Selezionare "Start", "Tutti i programmi,", "Microsoft Visual Studio 2010 Express," e quindi "Microsoft Visual Web Developer 2010 Express". Selezionare "Nuovo progetto" dal menu "File". "Modelli installati" sulla sinistra, selezionare "Web" sotto la lingua di vostra scelta.

2

Selezionare "Controllo ASP.NET Server." Immettere un nome per il progetto. Fare clic su "OK".

3

Aprire il file con estensione cs creato. Sulla linea 13, sostituire "ServerControl1" in entrambi i luoghi con il nome del controllo. Linea 14, sostituire "WebControl" con "Label".

4

Eliminare tutto il testo da linee 16-37. Sostituire con:

[

Bindable(true),

Category("Appearance"),

DefaultValue(""),

Description("This is the text that is displayed when a user is not logged in."),

Localizable(true)

]

public virtual string DefaultUserName

{

get

{

string s = (string)ViewState["DefaultUserName"];

return (s == null) ? String.Empty : s;

}

set

{

ViewState["DefaultUserName"] = value;

}

}

protected override void RenderContents(HtmlTextWriter writer)

{

writer.WriteEncodedText(Text);

string displayUserName = DefaultUserName;

if (Context != null)

{

string userName = Context.User.Identity.Name;

if (!String.IsNullOrEmpty(userName))

{

displayUserName = userName;

}

}

if (!String.IsNullOrEmpty(displayUserName))

{

writer.Write(", ");

writer.WriteEncodedText(displayUserName);

}

writer.Write("!");

}5

Fare doppio clic su "AssemblyInfo.cs" sotto "Properites" in Esplora soluzioni. Aggiungere "using System.Web.UI;" come nuova prima riga di questo documento. Aggiungi "[assembly: TagPrefix ("ServerControl1","aspSample")]" alla fine di questo documento. Selezionare "Save All" dal menu "File".

Controllo Web personalizzato benvenuto Label di prova

6

Selezionare "File", "Aggiungi" e poi "Nuovo sito Web" all'interno del progetto stesso in Visual Web Developer. Selezionare "Sito Web ASP.NET." Modificare il percorso del nuovo sito di essere nella cartella del progetto. Ad esempio, "C:\Users\YourName\Documents\Visual Studio 2010\Projects\ServerControl1\TestWebSite".

7

Pulsante destro del mouse il progetto TestWebSite in Esplora soluzioni e selezionare "Imposta come progetto di avvio." Fare nuovamente clic sul progetto e selezionare "Aggiungi riferimento". Il progetto dovrebbe essere visualizzato nei progetti Tab. selezionarlo e fare clic su "OK".

8

Pulsante destro del mouse TestWebSite in Esplora soluzioni e selezionare "Genera sito Web."

9

Aprire la casella degli strumenti e fare clic destro in un punto qualsiasi all'interno di esso. Selezionare "Aggiungi scheda" e immettere "ServerControl1." Pulsante destro del mouse sulla nuova scheda e selezionare "Scegli elementi". Passare alla cartella bin della TestWebSite. Selezionare Servercontrol1 e fare clic su "Apri" quindi "OK".

10

Eliminare "Welcome to ASP.NET!" da default. aspx. Trascinare il controllo WelcomeLabel nuovo al suo posto. Aggiungere "Text ="Welcome"DefaultUserName ="Guest"" per il controllo WelcomeLabel dopo "runat ="server"."

11

Premere CTRL + F5 per visualizzare in anteprima il tuo sito di prova in un browser. "Benvenuto, ospite!" deve essere visualizzato. Effettuare il login utilizzando il link in alto a destra. Potrebbe essere necessario prima di compilare il modulo di registrazione. Il messaggio dovrebbe dire "Benvenuto, il tuo nome!"