Literal Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rezerwuje lokalizację na stronie sieci Web, aby wyświetlić tekst statyczny.
public ref class Literal : System::Web::UI::Control
public ref class Literal : System::Web::UI::Control, System::Web::UI::ITextControl
public class Literal : System.Web.UI.Control
public class Literal : System.Web.UI.Control, System.Web.UI.ITextControl
type Literal = class
inherit Control
type Literal = class
inherit Control
interface ITextControl
Public Class Literal
Inherits Control
Public Class Literal
Inherits Control
Implements ITextControl
- Dziedziczenie
- Pochodne
- Implementuje
Przykłady
W poniższym przykładzie pokazano, jak używać kontrolki do wyświetlania Literal tekstu statycznego.
Uwaga
W poniższym przykładzie użyto modelu kodu pojedynczego pliku i może nie działać poprawnie, jeśli skopiowano bezpośrednio do pliku kodu. Ten przykładowy kod musi zostać skopiowany do pustego pliku tekstowego z rozszerzeniem .aspx. Aby uzyskać więcej informacji na temat modelu kodu formularzy internetowych, zobacz model kodu strony formularzy internetowych ASP.NET.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Literal Example</title>
<script runat="server">
void ButtonClick(Object sender, EventArgs e)
{
Literal1.Text="Welcome to ASP.NET!!";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>Literal Example</h3>
<asp:Literal id="Literal1"
Text="Hello World!!"
runat="server"/>
<br /><br />
<asp:Button id="Button1"
Text="Change Literal Text"
OnClick="ButtonClick"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Literal Example</title>
<script runat="server">
Sub ButtonClick(sender As Object, e As EventArgs)
Literal1.Text="Welcome to ASP.NET!!"
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>Literal Example</h3>
<asp:Literal id="Literal1"
Text="Hello World!!"
runat="server"/>
<br /><br />
<asp:Button id="Button1"
Text="Change Literal Text"
OnClick="ButtonClick"
runat="server"/>
</form>
</body>
</html>
Uwagi
W tym temacie:
Wprowadzenie
Użyj kontrolki System.Web.UI.WebControls.Literal , aby zarezerwować lokalizację na stronie sieci Web, aby wyświetlić tekst. Kontrolka jest podobna Literal do kontrolki Label , z wyjątkiem Literal kontrolki nie zezwala na stosowanie stylu do wyświetlanego tekstu. Tekst wyświetlany w kontrolce można programowo kontrolować, ustawiając Text właściwość.
Przestroga
Ta kontrolka może służyć do wyświetlania danych wejściowych użytkownika, które mogą obejmować złośliwy skrypt klienta. Sprawdź wszelkie informacje wysyłane z klienta do skryptu wykonywalnego, instrukcji SQL lub innego kodu przed wyświetleniem go w aplikacji. ASP.NET udostępnia funkcję weryfikacji żądań wejściowych w celu blokowania skryptu i kodu HTML w danych wejściowych użytkownika. Dostępne są również kontrolki serwera sprawdzania poprawności w celu oceny danych wejściowych użytkownika.
Aby uzyskać więcej informacji na temat zabezpieczeń, zobacz Zabezpieczanie standardowych kontrolek, Jak: chronić przed programami wykorzystującymi skrypty w aplikacji internetowej przez zastosowanie kodowania HTML do ciągów i weryfikowaniedanych wejściowych użytkownika na stronach internetowych ASP.NET.
Składnia deklaracyjna
<asp:Literal
EnableTheming="True|False"
EnableViewState="True|False"
ID="string"
Mode="Transform|PassThrough|Encode"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
runat="server"
SkinID="string"
Text="string"
Visible="True|False"
/>
Konstruktory
Literal() |
Inicjuje nowe wystąpienie klasy Literal. |
Właściwości
Adapter |
Pobiera kartę specyficzną dla przeglądarki dla kontrolki. (Odziedziczone po Control) |
AppRelativeTemplateSourceDirectory |
Pobiera lub ustawia względny katalog Page wirtualny aplikacji obiektu lub UserControl , który zawiera tę kontrolkę. (Odziedziczone po Control) |
BindingContainer |
Pobiera kontrolkę zawierającą powiązanie danych tej kontrolki. (Odziedziczone po Control) |
ChildControlsCreated |
Pobiera wartość wskazującą, czy kontrolka podrzędna kontrolki serwera została utworzona. (Odziedziczone po Control) |
ClientID |
Pobiera identyfikator kontrolki dla znaczników HTML generowanych przez ASP.NET. (Odziedziczone po Control) |
ClientIDMode |
Pobiera lub ustawia algorytm używany do generowania wartości ClientID właściwości. (Odziedziczone po Control) |
ClientIDSeparator |
Pobiera wartość znaku reprezentującą znak separatora ClientID używany we właściwości . (Odziedziczone po Control) |
Context |
HttpContext Pobiera obiekt skojarzony z kontrolką serwera dla bieżącego żądania sieci Web. (Odziedziczone po Control) |
Controls |
ControlCollection Pobiera obiekt reprezentujący kontrolki podrzędne dla określonej kontrolki serwera w hierarchii interfejsu użytkownika. (Odziedziczone po Control) |
DataItemContainer |
Pobiera odwołanie do kontenera nazewnictwa, jeśli kontener nazewnictwa implementuje IDataItemContainerelement . (Odziedziczone po Control) |
DataKeysContainer |
Pobiera odwołanie do kontenera nazewnictwa, jeśli kontener nazewnictwa implementuje IDataKeysControlelement . (Odziedziczone po Control) |
DesignMode |
Pobiera wartość wskazującą, czy kontrolka jest używana na powierzchni projektowej. (Odziedziczone po Control) |
EnableTheming |
Pobiera lub ustawia wartość wskazującą, czy motywy mają zastosowanie do tej kontrolki. (Odziedziczone po Control) |
EnableViewState |
Pobiera lub ustawia wartość wskazującą, czy kontrolka serwera utrzymuje stan widoku, oraz stan widoku wszystkich kontrolek podrzędnych, które zawiera, do klienta żądającego. (Odziedziczone po Control) |
Events |
Pobiera listę delegatów programu obsługi zdarzeń dla kontrolki. Ta właściwość jest tylko do odczytu. (Odziedziczone po Control) |
HasChildViewState |
Pobiera wartość wskazującą, czy kontrolka podrzędna bieżącej kontrolki serwera ma jakiekolwiek zapisane ustawienia stanu widoku. (Odziedziczone po Control) |
ID |
Pobiera lub ustawia identyfikator programowy przypisany do kontrolki serwera. (Odziedziczone po Control) |
IdSeparator |
Pobiera znak używany do oddzielania identyfikatorów kontrolek. (Odziedziczone po Control) |
IsChildControlStateCleared |
Pobiera wartość wskazującą, czy kontrolki zawarte w tej kontrolce mają stan kontroli. (Odziedziczone po Control) |
IsTrackingViewState |
Pobiera wartość wskazującą, czy kontrolka serwera zapisuje zmiany w stanie widoku. (Odziedziczone po Control) |
IsViewStateEnabled |
Pobiera wartość wskazującą, czy stan widoku jest włączony dla tej kontrolki. (Odziedziczone po Control) |
LoadViewStateByID |
Pobiera wartość wskazującą, czy kontrolka uczestniczy w ładowaniu stanu ID widoku zamiast indeksu. (Odziedziczone po Control) |
Mode |
Pobiera lub ustawia wartość wyliczenia określającą sposób renderowania zawartości kontrolki Literal . |
NamingContainer |
Pobiera odwołanie do kontenera nazewnictwa kontrolki serwera, który tworzy unikatową przestrzeń nazw do różnicowania między kontrolkami serwera o tej samej ID wartości właściwości. (Odziedziczone po Control) |
Page |
Pobiera odwołanie do Page wystąpienia zawierającego kontrolkę serwera. (Odziedziczone po Control) |
Parent |
Pobiera odwołanie do kontrolki nadrzędnej kontrolki serwera w hierarchii kontrolek strony. (Odziedziczone po Control) |
RenderingCompatibility |
Pobiera wartość określającą wersję ASP.NET, z którą renderowany kod HTML będzie zgodny. (Odziedziczone po Control) |
Site |
Pobiera informacje o kontenerze hostujące bieżącą kontrolkę podczas renderowania na powierzchni projektowej. (Odziedziczone po Control) |
SkinID |
Pobiera lub ustawia skórę do zastosowania do kontrolki. (Odziedziczone po Control) |
TemplateControl |
Pobiera lub ustawia odwołanie do szablonu zawierającego tę kontrolkę. (Odziedziczone po Control) |
TemplateSourceDirectory |
Pobiera katalog wirtualny elementu Page lub UserControl , który zawiera bieżącą kontrolkę serwera. (Odziedziczone po Control) |
Text |
Pobiera lub ustawia podpis wyświetlany w kontrolce Literal . |
UniqueID |
Pobiera unikatowy, hierarchicznie kwalifikowany identyfikator kontroli serwera. (Odziedziczone po Control) |
ValidateRequestMode |
Pobiera lub ustawia wartość wskazującą, czy kontrolka sprawdza dane wejściowe klienta z przeglądarki pod kątem potencjalnie niebezpiecznych wartości. (Odziedziczone po Control) |
ViewState |
Pobiera słownik informacji o stanie, który umożliwia zapisanie i przywrócenie stanu widoku kontrolki serwera w wielu żądaniach dla tej samej strony. (Odziedziczone po Control) |
ViewStateIgnoresCase |
Pobiera wartość wskazującą, czy StateBag obiekt jest niewrażliwy na wielkość liter. (Odziedziczone po Control) |
ViewStateMode |
Pobiera lub ustawia tryb stanu widoku tej kontrolki. (Odziedziczone po Control) |
Visible |
Pobiera lub ustawia wartość wskazującą, czy kontrolka serwera jest renderowana jako interfejs użytkownika na stronie. (Odziedziczone po Control) |
Metody
AddedControl(Control, Int32) |
Wywoływana po dodaniu kontrolki podrzędnej do Controls kolekcji Control obiektu. (Odziedziczone po Control) |
AddParsedSubObject(Object) |
Powiadamia kontrolkę Literal , że element XML lub HTML został przeanalizowany i dodaje ten element do ControlCollection kontrolki. |
ApplyStyleSheetSkin(Page) |
Stosuje właściwości stylu zdefiniowane w arkuszu stylów strony do kontrolki. (Odziedziczone po Control) |
BeginRenderTracing(TextWriter, Object) |
Rozpoczyna śledzenie czasu projektowania danych renderowania. (Odziedziczone po Control) |
BuildProfileTree(String, Boolean) |
Zbiera informacje o kontrolce serwera i dostarcza ją do Trace właściwości, która ma być wyświetlana po włączeniu śledzenia dla strony. (Odziedziczone po Control) |
ClearCachedClientID() |
Ustawia wartość buforowanej ClientID na |
ClearChildControlState() |
Usuwa informacje o stanie kontroli dla kontrolek podrzędnych kontrolki serwera. (Odziedziczone po Control) |
ClearChildState() |
Usuwa informacje o stanie widoku i stanie kontroli dla wszystkich kontrolek podrzędnych kontrolki serwera. (Odziedziczone po Control) |
ClearChildViewState() |
Usuwa informacje o stanie widoku dla wszystkich kontrolek podrzędnych kontrolki serwera. (Odziedziczone po Control) |
ClearEffectiveClientIDMode() |
ClientIDMode Ustawia właściwość bieżącego wystąpienia kontrolki i wszystkich kontrolek podrzędnych na Inherit. (Odziedziczone po Control) |
CreateChildControls() |
Wywoływana przez platformę stron ASP.NET w celu powiadamiania kontrolek serwera, które używają implementacji opartej na kompozycji w celu utworzenia wszelkich kontrolek podrzędnych, które zawierają w ramach przygotowania do publikowania z powrotem lub renderowania. (Odziedziczone po Control) |
CreateControlCollection() |
EmptyControlCollection Tworzy obiekt dla bieżącego wystąpienia kontrolkiLiteral. |
DataBind() |
Wiąże źródło danych z wywołaną kontrolką serwera i wszystkimi kontrolkami podrzędnymi. (Odziedziczone po Control) |
DataBind(Boolean) |
Wiąże źródło danych z wywołaną kontrolką serwera i wszystkie jego kontrolki podrzędne z opcją zgłaszania zdarzenia DataBinding . (Odziedziczone po Control) |
DataBindChildren() |
Wiąże źródło danych z kontrolkami podrzędnymi kontrolki serwera. (Odziedziczone po Control) |
Dispose() |
Umożliwia kontrolce serwera przeprowadzenie końcowego czyszczenia przed zwolnieniem z pamięci. (Odziedziczone po Control) |
EndRenderTracing(TextWriter, Object) |
Kończy śledzenie czasu projektowania danych renderowania. (Odziedziczone po Control) |
EnsureChildControls() |
Określa, czy kontrolka serwera zawiera kontrolki podrzędne. Jeśli tak nie jest, tworzy kontrolki podrzędne. (Odziedziczone po Control) |
EnsureID() |
Tworzy identyfikator kontrolek, które nie mają przypisanego identyfikatora. (Odziedziczone po Control) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
FindControl(String) |
Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera przy użyciu określonego |
FindControl(String, Int32) |
Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera z określoną liczbą |
Focus() |
Ustaw fokus wejściowy na kontrolkę; podstawowa Focus() metoda sterowania nie jest obsługiwana w kontrolce Literal . |
Focus() |
Ustawia fokus wejściowy na kontrolkę. (Odziedziczone po Control) |
GetDesignModeState() |
Pobiera dane w czasie projektowania dla kontrolki. (Odziedziczone po Control) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetRouteUrl(Object) |
Pobiera adres URL odpowiadający zestawowi parametrów trasy. (Odziedziczone po Control) |
GetRouteUrl(RouteValueDictionary) |
Pobiera adres URL odpowiadający zestawowi parametrów trasy. (Odziedziczone po Control) |
GetRouteUrl(String, Object) |
Pobiera adres URL odpowiadający zestawowi parametrów trasy i nazwie trasy. (Odziedziczone po Control) |
GetRouteUrl(String, RouteValueDictionary) |
Pobiera adres URL odpowiadający zestawowi parametrów trasy i nazwie trasy. (Odziedziczone po Control) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
GetUniqueIDRelativeTo(Control) |
Zwraca prefiksowaną część UniqueID właściwości określonej kontrolki. (Odziedziczone po Control) |
HasControls() |
Określa, czy kontrolka serwera zawiera jakiekolwiek kontrolki podrzędne. (Odziedziczone po Control) |
HasEvents() |
Zwraca wartość wskazującą, czy zdarzenia są rejestrowane dla kontrolki, czy jakiekolwiek kontrolki podrzędne. (Odziedziczone po Control) |
IsLiteralContent() |
Określa, czy kontrolka serwera zawiera tylko zawartość literału. (Odziedziczone po Control) |
LoadControlState(Object) |
Przywraca informacje o stanie kontroli z poprzedniego żądania strony, które zostało zapisane przez metodę SaveControlState() . (Odziedziczone po Control) |
LoadViewState(Object) |
Przywraca informacje o stanie widoku z poprzedniego żądania strony, które zostało zapisane przez metodę SaveViewState() . (Odziedziczone po Control) |
MapPathSecure(String) |
Pobiera ścieżkę fizyczną, z którą jest mapowa ścieżka wirtualna , bezwzględna lub względna. (Odziedziczone po Control) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnBubbleEvent(Object, EventArgs) |
Określa, czy zdarzenie kontroli serwera jest przekazywane w hierarchii kontroli serwera interfejsu użytkownika strony. (Odziedziczone po Control) |
OnDataBinding(EventArgs) |
DataBinding Zgłasza zdarzenie. (Odziedziczone po Control) |
OnInit(EventArgs) |
Init Zgłasza zdarzenie. (Odziedziczone po Control) |
OnLoad(EventArgs) |
Load Zgłasza zdarzenie. (Odziedziczone po Control) |
OnPreRender(EventArgs) |
PreRender Zgłasza zdarzenie. (Odziedziczone po Control) |
OnUnload(EventArgs) |
Unload Zgłasza zdarzenie. (Odziedziczone po Control) |
OpenFile(String) |
Stream Pobiera element używany do odczytywania pliku. (Odziedziczone po Control) |
RaiseBubbleEvent(Object, EventArgs) |
Przypisuje wszystkie źródła zdarzenia i jego informacje do elementu nadrzędnego kontrolki. (Odziedziczone po Control) |
RemovedControl(Control) |
Wywoływane po usunięciu kontrolki podrzędnej Controls z kolekcji Control obiektu. (Odziedziczone po Control) |
Render(HtmlTextWriter) |
Wysyła zawartość kontroli serwera do udostępnionego HtmlTextWriter obiektu, który zapisuje zawartość do renderowania na kliencie. |
RenderChildren(HtmlTextWriter) |
Zwraca zawartość elementów podrzędnych kontrolki serwera do udostępnionego HtmlTextWriter obiektu, który zapisuje zawartość do renderowania na kliencie. (Odziedziczone po Control) |
RenderControl(HtmlTextWriter) |
Generuje zawartość serwera kontrolującą podaną HtmlTextWriter obiekt i przechowują informacje o śledzeniu dotyczące kontrolki, jeśli śledzenie jest włączone. (Odziedziczone po Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Dane wyjściowe kontrolują zawartość serwera w podanym HtmlTextWriter obiekcie przy użyciu podanego ControlAdapter obiektu. (Odziedziczone po Control) |
ResolveAdapter() |
Pobiera kartę kontrolną odpowiedzialną za renderowanie określonej kontrolki. (Odziedziczone po Control) |
ResolveClientUrl(String) |
Pobiera adres URL, który może być używany przez przeglądarkę. (Odziedziczone po Control) |
ResolveUrl(String) |
Konwertuje adres URL na adres, który może być używany przez klienta żądającego. (Odziedziczone po Control) |
SaveControlState() |
Zapisuje wszelkie zmiany stanu kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze. (Odziedziczone po Control) |
SaveViewState() |
Zapisuje wszelkie zmiany stanu widoku kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze. (Odziedziczone po Control) |
SetDesignModeState(IDictionary) |
Ustawia dane czasu projektowania dla kontrolki. (Odziedziczone po Control) |
SetRenderMethodDelegate(RenderMethod) |
Przypisuje delegata procedury obsługi zdarzeń, aby renderować kontrolkę serwera i jego zawartość do kontrolki nadrzędnej. (Odziedziczone po Control) |
SetTraceData(Object, Object) |
Ustawia dane śledzenia dla śledzenia czasu projektowania danych renderowania przy użyciu klucza danych śledzenia i wartości danych śledzenia. (Odziedziczone po Control) |
SetTraceData(Object, Object, Object) |
Ustawia dane śledzenia dla śledzenia czasu projektowania danych renderowania przy użyciu obiektu śledzonego, klucza danych śledzenia i wartości danych śledzenia. (Odziedziczone po Control) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
TrackViewState() |
Powoduje śledzenie zmian stanu widoku w kontrolce serwera, dzięki czemu mogą być przechowywane w obiekcie kontroli StateBag serwera. Ten obiekt jest dostępny za pośrednictwem ViewState właściwości . (Odziedziczone po Control) |
Zdarzenia
DataBinding |
Występuje, gdy kontrolka serwera wiąże się ze źródłem danych. (Odziedziczone po Control) |
Disposed |
Występuje, gdy kontrola serwera jest zwalniana z pamięci, co jest ostatnim etapem cyklu życia kontroli serwera, gdy jest żądana strona ASP.NET. (Odziedziczone po Control) |
Init |
Występuje, gdy kontrolka serwera jest inicjowana, co jest pierwszym krokiem w jego cyklu życia. (Odziedziczone po Control) |
Load |
Występuje, gdy kontrolka serwera jest ładowana do Page obiektu. (Odziedziczone po Control) |
PreRender |
Występuje po załadowaniu Control obiektu, ale przed renderowaniem. (Odziedziczone po Control) |
Unload |
Występuje, gdy kontrolka serwera jest zwalniana z pamięci. (Odziedziczone po Control) |
Jawne implementacje interfejsu
IControlBuilderAccessor.ControlBuilder |
Aby uzyskać opis tego elementu członkowskiego, zobacz ControlBuilder. (Odziedziczone po Control) |
IControlDesignerAccessor.GetDesignModeState() |
Aby uzyskać opis tego elementu członkowskiego, zobacz GetDesignModeState(). (Odziedziczone po Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Aby uzyskać opis tego elementu członkowskiego, zobacz SetDesignModeState(IDictionary). (Odziedziczone po Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Aby uzyskać opis tego elementu członkowskiego, zobacz SetOwnerControl(Control). (Odziedziczone po Control) |
IControlDesignerAccessor.UserData |
Aby uzyskać opis tego elementu członkowskiego, zobacz UserData. (Odziedziczone po Control) |
IDataBindingsAccessor.DataBindings |
Aby uzyskać opis tego elementu członkowskiego, zobacz DataBindings. (Odziedziczone po Control) |
IDataBindingsAccessor.HasDataBindings |
Aby uzyskać opis tego elementu członkowskiego, zobacz HasDataBindings. (Odziedziczone po Control) |
IExpressionsAccessor.Expressions |
Aby uzyskać opis tego elementu członkowskiego, zobacz Expressions. (Odziedziczone po Control) |
IExpressionsAccessor.HasExpressions |
Aby uzyskać opis tego elementu członkowskiego, zobacz HasExpressions. (Odziedziczone po Control) |
IParserAccessor.AddParsedSubObject(Object) |
Aby uzyskać opis tego elementu członkowskiego, zobacz AddParsedSubObject(Object). (Odziedziczone po Control) |
Metody rozszerzania
FindDataSourceControl(Control) |
Zwraca źródło danych skojarzone z kontrolką danych dla określonej kontrolki. |
FindFieldTemplate(Control, String) |
Zwraca szablon pola dla określonej kolumny w kontenerze nazewnictwa określonej kontrolki. |
FindMetaTable(Control) |
Zwraca obiekt metatable dla kontrolki zawierającej dane. |
Dotyczy
Zobacz też
- Label
- Text
- Literal Web Server Control Overview
- Zabezpieczanie standardowych kontrolek
- Instrukcje: ochrona przed programami wykorzystującymi luki w zabezpieczeniach skryptów w aplikacji internetowej przez zastosowanie kodowania HTML do ciągów
- Wprowadzenie do sprawdzania poprawności danych wejściowych użytkownika w ASP.NET stronach sieci Web