Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule przedstawiono ASP.NET kontrolek serwera, takich jak kontrolki serwera HTML, kontrolki serwera sieci Web, kontrolki listy itp.
Oryginalna wersja produktu: ASP.NET
Oryginalny numer KB: 306459
W tym artykule opisano następujące przestrzenie nazw biblioteki klas programu Microsoft .NET Framework:
System.Web.UI.HtmlControls.HtmlControl
System.Web.UI.WebControls.WebControl
Kontrolki serwera w strukturze stron ASP.NET
Struktura strony ASP.NET zawiera szereg wbudowanych kontrolek serwera zaprojektowanych w celu zapewnienia bardziej ustrukturyzowanego modelu programowania dla sieci Web. Te kontrolki udostępniają następujące funkcje:
- Automatyczne zarządzanie stanem.
- Prosty dostęp do wartości obiektów bez konieczności używania
Request
obiektu. - Możliwość reagowania na zdarzenia w kodzie po stronie serwera w celu utworzenia aplikacji, które są lepiej ustrukturyzowane.
- Typowe podejście do tworzenia interfejsów użytkownika dla stron internetowych.
- Dane wyjściowe są automatycznie dostosowywane na podstawie możliwości przeglądarki.
Oprócz wbudowanych kontrolek platforma ASP.NET strony zapewnia również możliwość tworzenia kontrolek użytkownika i kontrolek niestandardowych. Kontrolki użytkownika i kontrolki niestandardowe mogą ulepszać i rozszerzać istniejące kontrolki w celu utworzenia znacznie bogatszego interfejsu użytkownika.
Kontrolki serwera HTML
Kontrolki serwera HTML to elementy HTML, które zawierają runat=server
atrybut. Kontrolki serwera HTML mają te same dane wyjściowe HTML i te same właściwości co odpowiadające im tagi HTML. Ponadto kontrolki serwera HTML zapewniają automatyczne zarządzanie stanem i zdarzenia po stronie serwera. Kontrolki serwera HTML oferują następujące korzyści:
- Serwer HTML steruje mapą jeden na jeden z odpowiednimi tagami HTML.
- Po skompilowaniu aplikacji ASP.NET do zestawu są kompilowane kontrolki serwera HTML z atrybutem
runat=server
. - Większość kontrolek obejmuje
OnServerEvent
zdarzenie najczęściej używane dla kontrolki. Na przykład kontrolka<input type=button>
maOnServerClick
zdarzenie. - Tagi HTML, które nie są implementowane jako określone kontrolki serwera HTML, mogą być nadal używane po stronie serwera; jednak są one dodawane do zestawu jako
HtmlGenericControl
. - Po ponownym utworzeniu strony ASP.NET kontrolki serwera HTML zachowują swoje wartości.
Klasa System.Web.UI.HtmlControls.HtmlControl
bazowa zawiera wszystkie typowe właściwości. Kontrolki serwera HTML pochodzą z tej klasy.
Aby użyć kontrolki serwera HTML, użyj następującej składni (która używa kontrolki HtmlInputText
jako przykład):
<input type="text" value="hello world" runat=server />
Aby uzyskać więcej informacji na temat poszczególnych kontrolek serwera HTML dostępnych w ASP.NET, zobacz następujące witryny sieci Web:
Kontrolki serwera sieci Web
Kontrolki sieci Web są podobne do kontrolek serwera HTML, takich jak Przycisk, TextBox i Hiperłącze, z tą różnicą, że kontrolki sieci Web mają ustandaryzowany zestaw nazw właściwości. Kontrolki serwera sieci Web oferują następujące korzyści:
- Ułatwiaj producentom i deweloperom tworzenie narzędzi lub aplikacji, które automatycznie generują interfejs użytkownika.
- Uprość proces tworzenia interaktywnych formularzy internetowych, który wymaga mniejszej wiedzy na temat działania kontrolek HTML i sprawia, że zadanie ich używania jest mniej podatne na błędy.
Klasa System.Web.UI.WebControls.WebControl
bazowa zawiera wszystkie typowe właściwości. Większość kontrolek serwera sieci Web pochodzi z tej klasy.
Aby użyć kontrolki serwera sieci Web, użyj następującej składni (która używa kontrolki TextBox jako przykład):
<asp:textbox text="hello world" runat=server />
Kontrolki serwera sieci Web można podzielić na cztery kategorie:
- Podstawowe kontrolki sieci Web
- Kontrolki walidacji
- Kontrolki listy
- Zaawansowane kontrolki
Podstawowe kontrolki sieci Web
Podstawowe kontrolki sieci Web zapewniają takie same funkcje jak ich odpowiedniki kontroli serwera HTML. Jednak podstawowe kontrolki sieci Web obejmują dodatkowe metody, zdarzenia i właściwości, dla których można programować.
Aby uzyskać więcej informacji na temat poszczególnych kontrolek sieci Web dostępnych w ASP.NET, zobacz następujące witryny sieci Web:
Kontrolki sprawdzania poprawności
Kontrolki sprawdzania poprawności służą do weryfikowania wartości wprowadzonych w innych kontrolkach strony. Kontrolki sprawdzania poprawności wykonują weryfikację po stronie klienta, weryfikację po stronie serwera lub obie te elementy w zależności od możliwości przeglądarki, w której jest wyświetlana strona. Kontrolki weryfikacji oferują następujące korzyści:
- Można skojarzyć co najmniej jedną kontrolkę sprawdzania poprawności z każdą kontrolką, którą chcesz zweryfikować.
- Walidacja jest wykonywana po przesłaniu formularza strony.
- Można określić programowo, czy ma nastąpić walidacja, co jest przydatne, jeśli chcesz podać przycisk anulowania, aby użytkownik mógł zakończyć działanie bez konieczności wypełniania prawidłowych danych we wszystkich polach.
- Kontrolki sprawdzania poprawności automatycznie wykrywają, czy walidacja powinna być wykonywana po stronie klienta, czy po stronie serwera.
Uwaga 16.
Sprawdzanie poprawności po stronie klienta przechwytuje błędy przed ukończeniem operacji po awarii. W związku z tym, jeśli masz kombinacje kontrolek weryfikacji po stronie klienta i po stronie serwera na jednej stronie, walidacja po stronie serwera zostanie wywłaszona, jeśli weryfikacja po stronie klienta zakończy się niepowodzeniem. Aby uzyskać więcej informacji na temat poszczególnych kontrolek weryfikacji dostępnych w ASP.NET, zapoznaj się z następującymi witrynami sieci Web:
Kontrolki listy
Kontrolki listy to specjalne kontrolki serwera sieci Web, które obsługują wiązanie z kolekcjami. Za pomocą kontrolek listy można wyświetlać wiersze danych w dostosowanym formacie szablonu. Wszystkie kontrolki listy uwidaczniają właściwości DataSource i DataMember, które są używane do powiązania z kolekcjami.
Kontrolki listy mogą wiązać się tylko z kolekcjami obsługującymi interfejsy IEnumerable, ICollection lub IListSource. Na przykład przykładowa strona platformy .NET w języku Visual C# wygląda następująco:
<%@ Page Language="C#" %>
<script runat="server">
Public void Page_Load()
{
String[] myStringArray = new String[] {"one","two","three"};
rptr.DataSource = myStringArray;
rptr.DataBind();
}
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
Przykładowa strona platformy .NET w języku Visual Basic wygląda następująco:
<%@ Page Language="vb" %>
<script runat="server">
public sub Page_Load()
Dim myStringArray as String()
myStringArray = new String() {"one","two","three"}
rptr.DataSource = myStringArray
rptr.DataBind()
end sub
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
Dane wyjściowe są wyświetlane w następujący sposób:
- jeden
- dwa
- trzy
Aby uzyskać więcej informacji na temat poszczególnych kontrolek listy dostępnych w ASP.NET, zobacz następujące witryny sieci Web:
Zaawansowane kontrolki
Oprócz powyższych kontrolek struktura strony ASP.NET udostępnia kilka kontrolek specyficznych dla zadań nazywanych zaawansowanymi kontrolkami. Zaawansowane kontrolki są tworzone z wieloma elementami HTML i zawierają zaawansowane funkcje. Przykłady zaawansowanych kontrolek to kontrolka Kalendarz i kontrolka AdRotator.
Aby uzyskać więcej informacji na temat poszczególnych zaawansowanych kontrolek dostępnych w ASP.NET, zobacz następujące witryny sieci Web:
Kontrolki użytkownika
Często możesz chcieć ponownie użyć interfejsu użytkownika formularza internetowego bez konieczności pisania dodatkowego kodu. ASP.NET umożliwia to przekonwertowanie formularzy sieci Web na kontrolki użytkownika. Kontrolki użytkownika, które mają rozszerzenie pliku ascx, mogą być używane wiele razy w jednym formularzu sieci Web.
Aby przekonwertować formularz sieci Web na kontrolkę użytkownika, wykonaj następujące kroki:
- Usuń wszystkie
<html>
tagi , ,<head>
<body>
i<form>
. @ Page
Jeśli dyrektywa pojawi się na stronie, zmień ją na@ Control
.- Uwzględnij
className
atrybut w@ Control
dyrektywie, aby kontrolka użytkownika była silnie wpisywana podczas tworzenia jej wystąpienia. - Nadaj kontrolce opisową nazwę pliku i zmień rozszerzenie pliku z .aspx na .ascx.
Aby uzyskać więcej informacji na temat kontrolek użytkownika, zobacz Kontrolki użytkownika formularzy sieci Web.
Kontrolki niestandardowe
Oprócz wbudowanych kontrolek sieci Web ASP.NET również umożliwia tworzenie własnych kontrolek niestandardowych. Przydatne może być opracowanie niestandardowych kontrolek, jeśli masz do czynienia z jednym z następujących scenariuszy:
- Należy połączyć funkcje co najmniej dwóch wbudowanych kontrolek sieci Web.
- Należy rozszerzyć funkcjonalność wbudowanej kontrolki.
- Potrzebujesz kontrolki innej niż którakolwiek z aktualnie istniejących kontrolek.
Aby uzyskać więcej informacji na temat tworzenia kontrolek niestandardowych, zobacz następujące tematy: