ASP.NET Web Forms Tutorial: Eksempler på brukerkontroller
I ASP.Net er det mulig å lage gjenbrukbar kode. Den gjenbrukbare koden kan brukes mange steder uten å måtte skrive koden på nytt.
Den gjenbrukbare koden hjelper til med å redusere tiden utvikleren bruker etter å ha skrevet koden. Det kan gjøres én gang og gjenbrukes flere steder.
Opprett brukerkontroll i ASP.Net
ASP.Net har muligheten til å lage webkontroller. Disse kontrollene inneholder kode som kan gjenbrukes. Den kan brukes på tvers av applikasjoner i henhold til kravet.
La oss ta en titt på et eksempel på hvordan vi kan lage en nettbrukerkontroll i ASP.Net
I vårt eksempel,
- Vi skal lage en webkontroll.
- Den vil bli brukt til å lage en overskriftskomponent.
- Den vil inneholde teksten nedenfor."Guru99 Tutorials"Denne opplæringen er for ASP.Net"
La oss jobbe med vår nåværende nettapplikasjon laget i de tidligere delene. La oss følge trinnene nedenfor for å opprette en nettbrukerkontroll.
Trinn 1) Det første trinnet er å lage en nettbrukerkontroll og legge den til i Visual Studio Solution.
- Gå til Solution Explorer i Visual Studio og høyreklikk på DemoApplication Solution
- Velg menypunktet Legg til->Nytt element
Trinn 2) I neste trinn må vi velge alternativet for å lage en nettbrukerkontroll
- I prosjektdialogboksen kan vi se ulike alternativer for å lage ulike typer komponenter. Klikk på "Web"-alternativet på venstre side.
- Når vi klikker på "Web"-alternativet, ser du et alternativ for "Web Forms User control." Klikk på dette alternativet.
- Vi gir deretter et navn for webkontrollen "Guru99Control".
- Til slutt klikker du på "Legg til"-knappen for å la Visual Studio legge til nettbrukerkontrollen til løsningen vår.
Du vil se "Guru99Control" lagt til løsningen.
Trinn 4) Nå er det på tide å legge til den egendefinerte koden i nettbrukerkontrollen. Koden vår vil være basert på ren HTML-syntaks. Legg til følgende kode i 'Guru99Control.ascx'-filen
<table> <tr> <td>Guru99 Tutorials</td> </tr> <tr> <td> This Tutorial is for</td> </tr> </table>
Kodeforklaring:-
- I webkontrollfilen vår lager vi først et tabellelement. Dette vil bli brukt til å holde 2 rader med tekst som skal brukes til å vise
- "Guru99 Tutorials" og
- "Denne opplæringen er for ASP.Net."
- Deretter definerer vi vår første tabellrad og setter teksten som "Guru99 Tutorials."
- Vi definerer deretter vår andre tabellrad og setter teksten som "Denne opplæringen er for ASP.Net."
MERKNADER: Nå kan vi ikke kjøre denne koden og vise utdataene. Den eneste måten å se om dette fungerer på er å inkludere det i applikasjonen vår (aspx-fil). Vi vil se dette i det påfølgende emnet.
Registrering av brukerkontroller på et ASP.NET-nettskjema
I den tidligere delen så vi hvordan vi kan lage en tilpasset webkontroll. Dette kan brukes til å vise følgende to linjer i et nettskjema
- "Guru99-veiledninger"
- "Denne opplæringen er for ASP.Net."
Når den tilpassede "kontrollen" er opprettet, må vi bruke den i nettapplikasjonen vår. Det første trinnet er å registrere komponenten i vår applikasjon (Demo.aspx). Dette er forutsetningen for å bruke i enhver tilpasset webkontroll i en ASP.Net-applikasjon.
La oss se på hvordan vi kan oppnå dette. Trinnene nedenfor er en fortsettelse til forrige seksjon. I forrige seksjon har vi laget vår egendefinerte kontroll. I denne delen vil vi bruke kontrollen i vår Demo.aspx nettskjema.
Først vil vi registrere vår egendefinerte 'kontroll' i Demo.aspx-filen.
Trinn 1) Sørg for at du jobber med demo.aspx-filen. Det er i denne filen at nettbrukerkontrollen vil bli registrert. Dette kan gjøres ved å dobbeltklikke på demo.aspx-filen i løsningsutforskeren til .Net-løsningen.
Når du dobbeltklikker på skjemaet, vil du sannsynligvis se koden nedenfor i skjemaet. Dette er standardkoden lagt til av Visual Studio når et nettskjema legges til et ASP.Net-prosjekt.
Standardkoden består av trinn, som kreves for å sikre at skjemaet kan kjøres som et ASP.Net-nettskjema i nettleseren.
Trinn 2) La oss nå legge til koden vår for å registrere brukerkontrollen. Skjermbildet nedenfor viser registrering av brukerkontrollen til grunnkoden ovenfor.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <%@ Register Src="~/Guru99Control.ascx" TagName="WebControl" TagPrefix="TWebControl"%> <!DOCTYPE html> <html xmlns="http://www.w3.ore/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="forml" runat="server”> <TWebControl:WebControl ID="Header" runat="server" /> </form> </body> </html>
Kodeforklaring:-
- Det første trinnet er å registrere nettbrukerkontrollen. Dette består av de grunnleggende parametrene nedenfor
- Nøkkelordet 'Registrer' brukes til å registrere nettbrukerkontrollen.
- Parameteren src brukes til å definere navnet på kontrollen, som i vårt tilfelle er Guru99Control.ascx.
- Tagnavnet og Tagprefixet er individuelle navn gitt til kontrollen. Dette gjøres slik at de kan referere i HTML-sider som en vanlig HTML-kontroll.
- Deretter refererer vi til vår nettbrukerkontroll via TagPrefix:TagName som ble tildelt tidligere. TagPrefix:TagName er en indikator på at vi ønsker å bruke vår egendefinerte webkontroll. Når siden behandles av webserveren, kan du se at vi har brukt TWebControl:WebControl-taggen. Den vil deretter behandle 'Guru99Control' tilsvarende. I vårt eksempel er det TWebControl:WebControl.
- En valgfri ID gis til kontrollen av "Header". Det er generelt en god praksis å gi en ID til en HTML-kontroll.
- Til slutt, runat=server-attributtet slik at kontrollen vil kjøre på webserveren. For alle ASP.Net-kontroller er dette standardattributtet. Alle ASP.Net-kontroller (inkludert egendefinerte kontroller) må kjøres på serveren. Utdataene deres sendes deretter fra serveren til klienten og vises i nettleseren tilsvarende.
Når koden ovenfor er satt, og prosjektet utføres ved hjelp av Visual Studio. Du vil få utgangen nedenfor.
Produksjon:-
Utdatameldingen som vises i nettleseren viser at nettbrukerkontrollen ble utført.
Registrering av asp.net kontroller globalt i webkonfigurasjonsfilen asp
Noen ganger vil man kanskje bruke brukerkontroller på flere sider i en .Net-applikasjon. På dette tidspunktet ønsker du ikke å fortsette å registrere brukerkontroller på hver ASP.Net-side.
- I .Net kan du utføre registreringen i 'web.config'-filen.
- Web.config-filen er en vanlig konfigurasjonsfil som brukes av alle nettsider i .Net-prosjektet.
- Den inneholder nødvendige konfigurasjonsdetaljer for ASP.Net-nettprosjektet. For eksempel er en vanlig konfigurasjon i web.config-filen målrammeparameter.
- Denne parameteren brukes til å identifisere .Net framework-versjonen som brukes av applikasjonen.
Nedenfor er et øyeblikksbilde av standardkoden i web.config-filen. Den uthevede delen er målrammedelen.
La oss se hvordan vi kan registrere vår Guru99Control i web.config-filen.
Trinn 1) Åpne web.config-filen fra løsningsutforsker ved å dobbeltklikke på filen.
Når du åpner web.config-filen, kan det hende du ser konfigurasjonen nedenfor. 'web.config' legges til automatisk av Visual Studio når prosjektet er opprettet. Dette er den grunnleggende konfigurasjonen som kreves for å få ASP.Net-prosjektet til å fungere skikkelig.
Trinn 2) La oss nå registrere komponenten vår i web.config-filen. Vi må legge til linjene nedenfor for det.
<configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <pages> <controls> <add tagPrefix="TWebControl" src ="~/Guru99Control.ascx" tagName="WebControl"/> </controls> </pages> </system.web> </configuration>
Registreringen består av undertrinnene nedenfor
- Legg til en tag kalt . Det betyr at all konfigurasjon for kontrollene vil gjelde for alle ASP.Net-sidene i løsningen.
- De tag betyr at du legger til en konfigurasjon for brukerkontrollen.
- Da registrerer vi brukerkontrollen med tilleggstaggen. De resterende parameterne til tagPrefix, tagName og src forblir de samme som før.
Trinn 3) Husk å gå til 'demo.aspx'-siden og fjerne linjene for kontroll, som hadde registreringen av Guru99-komponenten. Hvis du ikke utfører dette trinnet, vil 'Guru99Control.ascx'-filen bli kjørt fra 'demo.aspx'-filen i stedet for 'web.config'-filen.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <%@ Register Src="~/Guru99Control.ascx" TagName="WebControl" TagPrefix="TWebControl"%> <!DOCTYPE html> <html xmlns="http://www.w3.ore/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server”> <TWebControl:WebControl ID="Header" runat="server" /> </form> </body> </html>
Koden ovenfor er satt, og prosjektet utføres ved hjelp av Visual Studio. Du vil få utgangen nedenfor.
Produksjon:-
Utgangsmeldingen viser at nettbrukerkontrollen ble utført.
Legge til offentlige egenskaper til en nettkontroll
En egenskap er et nøkkelverdi-par knyttet til en hvilken som helst kontroll. La oss ta et eksempel på det enkle HTML-tag. Et skjermbilde av hvordan taggen ser ut vises nedenfor.
<html> <body> <div style="color:#0000FF"> Demo Form </div> <body> </html>
'div'-taggen brukes til å lage en seksjon i et HTML-dokument. 'div'-taggen har en egenskap som kalles en stilegenskap. Dette kan brukes til å gi en annen stil til teksten som vises i div-taggen. Normalt vil du se koden for div-taggen som vist nedenfor.
<div style="color:#0000FF">
Så fargeattributtet er ikke annet enn et nøkkelverdi-par som gir mer informasjon om selve taggen. I tilfellet ovenfor er nøkkelnavnet 'stil' og nøkkelverdien er 'farge:#0000FF'.
På samme måte, for brukerkontroller, kan du opprette dine egne egenskaper som beskriver kontrollen.
La oss ta et enkelt eksempel og bygge videre på vår 'Guru99Control' laget i de tidligere delene.
I vårt eksempel skal vi legge til en enkel heltallsegenskap kalt MinValue. Denne verdien vil representere minimum antall tegn i teksten som vises i brukerkontrollen.
La oss utføre trinnene nedenfor for å få dette på plass.
Trinn 1) Åpne filen Guru99Control.ascx. Legg til koden for å legge til MinValue-egenskapen.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <script runat="server"> public int MinValue = 0; </script> <table> <tr> <td>Guru99 Tutorials</td> </tr> <tr> <td> This Tutorial is for </tr> </table>
Kodeforklaring:-
Skriptet runat=server-attributtet brukes for å indikere at vi legger til some.Net-spesifikk kode og at den må kjøres på webserveren.
Dette er nødvendig for å behandle enhver egenskap som er lagt til brukerkontrollen. Vi legger deretter til egenskapen MinValue og gir den en standardverdi på 0.
Trinn 2) La oss nå referere til denne egenskapen i vår demo.aspx-fil. Alt vi gjør nå er bare å referere til MinValue-egenskapen og tilordne en ny verdi på 100.
!DOCTYPE html> <html xmlns="http://www.w3.ore/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server”> <TWebControl:WebControl ID="Header" runat="server" MinValue="100"/> </form> </body> </html>
MERKNADER: – Når du kjører denne koden, vil den ikke vise noe utdata. Dette er fordi utdataene faller under grensen på 100 tegn.
Oppsummering
- ASP.Net har muligheten til å lage brukerkontroller. Brukerkontroller brukes til å ha kode som brukes flere ganger i en applikasjon. Brukerkontrollen kan deretter gjenbrukes på tvers av applikasjonen.
- Brukerkontrollen må registreres på ASP.Net-siden før den kan brukes.
- For å bruke brukerkontroll på tvers av alle sidene i en applikasjon, registrer den i web.config-filen.
- Egenskaper kan også legges til en nettbrukerkontroll.