Udostępnij za pośrednictwem


DynamicDataManager Klasa

Definicja

Umożliwia dynamiczne zachowanie kontrolek sieci Web ASP.NET obsługujących ASP.NET danych dynamicznych.

public ref class DynamicDataManager : System::Web::UI::Control
[System.Drawing.ToolboxBitmap(typeof(System.Web.DynamicData.DynamicDataManager), "DynamicDataManager.ico")]
public class DynamicDataManager : System.Web.UI.Control
[System.Drawing.ToolboxBitmap(typeof(System.Web.DynamicData.DynamicDataManager), "DynamicDataManager.bmp")]
public class DynamicDataManager : System.Web.UI.Control
[<System.Drawing.ToolboxBitmap(typeof(System.Web.DynamicData.DynamicDataManager), "DynamicDataManager.ico")>]
type DynamicDataManager = class
    inherit Control
[<System.Drawing.ToolboxBitmap(typeof(System.Web.DynamicData.DynamicDataManager), "DynamicDataManager.bmp")>]
type DynamicDataManager = class
    inherit Control
Public Class DynamicDataManager
Inherits Control
Dziedziczenie
DynamicDataManager
Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak użyć DynamicDataManager kontrolki w celu włączenia dynamicznego zachowania dla wystąpienia kontrolki System.Web.UI.WebControls.GridView .

<%@ Page Language="C#" MasterPageFile="~/Site.master" %>

<script runat="server">

    protected void Page_Init(object sender, EventArgs e) {
        DynamicDataManager1.RegisterControl(GridView1);
    }

</script>



<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

    <h1> DynamicDataManager VB Sample</h1>
    
    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server" 
        AutoLoadForeignKeys="true" />
    
    <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" AllowPaging="True"
        AllowSorting="True" CssClass="gridview">
    </asp:GridView>
    
    <asp:LinqDataSource ID="GridDataSource" runat="server" EnableDelete="true">
       
    </asp:LinqDataSource>
    
</asp:Content>
<%@ Page Language="VB" MasterPageFile="~/Site.master" %>

<script runat="server">

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
        DynamicDataManager1.RegisterControl(GridView1)
    End Sub

</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        
<h1> DynamicDataManager CS Sample</h1>

    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
         AutoLoadForeignKeys="true" />

    <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource"
        AllowPaging="True" AllowSorting="True" CssClass="gridview">
    </asp:GridView>

    <asp:LinqDataSource ID="GridDataSource" runat="server" EnableDelete="true">
    </asp:LinqDataSource>
    
</asp:Content>

Uwagi

W tym temacie:

Wprowadzenie

Kontrolka DynamicDataManager zapewnia klej między kontrolką związaną z danymi, kontrolą źródła danych i danymi dynamicznymi w następujący sposób:

  • Ustawia generator pól dla kontrolki powiązanej z danymi, aby utworzyć poprawny zestaw kolumn, gdy AutoGenerateColumns jest ustawiony na truewartość . Kontrolka powiązana z danymi może być kontrolką GridView , kontrolką DetailsView lub kontrolką FormView .

  • Ustawia typ kontekstu i nazwę tabeli dla kontroli źródła danych. Kontrola źródła danych dla LINQ-to-SQL to LinqDataSource. Kontrola źródła danych dla platformy Entity Framework ADO to EntityDataSource.

  • Ustawia wartość AutoGenerateWhereClause na true dla źródła danych, jeśli nie ma klauzuli Where.

  • Rozszerza specjalne parametry dynamiczne, takie jak DynamicControlParameter parametry, które mogą być używane przez źródło danych.

  • Jeśli właściwość LINQ-to-SQL AutoLoadForeignKeys jest ustawiona na true, ładuje klucze obce.

Kontrolka DynamicDataManager musi być dołączona na stronie, aby kontrolki danych korzystały z obsługi danych dynamicznych. Znaczniki dla kontrolki DynamicDataManager muszą poprzedzać adiustację dla wszystkich kontrolek korzystających z obsługi danych dynamicznych.

Uwaga

Nie DynamicDataManager można umieścić kontrolki wewnątrz kontrolki UpdatePanel .

Składnia deklaracyjna

<asp:DynamicDataManager  
    AutoLoadForeignKeys="True|False"  
    EnableQueryStringSelection="True|False"  
    EnableViewState="True|False"  
    ID="string"  
    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"  
>  
</asp:DynamicDataManager>  

Konstruktory

DynamicDataManager()

Inicjuje nowe wystąpienie kontrolki DynamicDataManager .

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)
AutoLoadForeignKeys

Pobiera lub ustawia wartość wskazującą, czy klucze obce są ładowane automatycznie dla kontekstu danych LINQ-to-SQL.

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

ClientID Pobiera właściwość wygenerowaną przez ASP.NET.

ClientID

Pobiera identyfikator kontrolki dla znaczników HTML generowanych przez ASP.NET.

(Odziedziczone po Control)
ClientIDMode

Pobiera algorytm używany do generowania wartości we ClientID właściwości.

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)
DataControls

Pobiera listę odwołań do kontroli danych w kontrolce DynamicDataManager .

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)
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, który hostuje bieżącą kontrolkę podczas renderowania na powierzchni projektowej.

(Odziedziczone po Control)
SkinID

Pobiera lub ustawia skórę do zastosowania w kontrolce.

(Odziedziczone po Control)
TemplateControl

Pobiera lub ustawia odwołanie do szablonu zawierającego tę kontrolkę.

(Odziedziczone po Control)
TemplateSourceDirectory

Pobiera katalog wirtualny obiektu Page lub UserControl , który zawiera bieżącą kontrolkę serwera.

(Odziedziczone po Control)
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 pozwala zapisać i przywrócić stan widoku kontroli serwera w wielu żądaniach dla tej samej strony.

(Odziedziczone po Control)
ViewStateIgnoresCase

Pobiera wartość wskazującą, czy StateBag obiekt nie uwzględnia wielkości liter.

(Odziedziczone po Control)
ViewStateMode

Pobiera lub ustawia tryb wyświetlania tej kontrolki.

(Odziedziczone po Control)
Visible

Pobiera wartość wskazującą, czy kontrolka jest widoczna DynamicDataManager .

Metody

AddedControl(Control, Int32)

Wywoływana po dodaniu kontrolki podrzędnej do Controls kolekcji Control obiektu.

(Odziedziczone po Control)
AddParsedSubObject(Object)

Powiadamia kontrolkę serwera, że element , XML lub HTML, został przeanalizowany i dodaje element do obiektu kontrolki ControlCollection serwera.

(Odziedziczone po Control)
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 null.

(Odziedziczone po Control)
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()

Tworzy nowy ControlCollection obiekt do przechowywania kontrolek podrzędnych (literału i serwera) kontrolki serwera.

(Odziedziczone po Control)
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 id parametru.

(Odziedziczone po Control)
FindControl(String, Int32)

Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera z określoną liczbą id całkowitą określoną w parametrze pathOffset , co ułatwia wyszukiwanie. Nie należy zastąpić tej wersji FindControl metody.

(Odziedziczone po Control)
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.

OnInit(EventArgs)

Init Zgłasza zdarzenie.

(Odziedziczone po Control)
OnLoad(EventArgs)

Load Zgłasza zdarzenie.

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)
RegisterControl(Control)

Rejestruje kontrolkę za pomocą kontrolki DynamicDataManager .

RegisterControl(Control, Boolean)

Rejestruje kontrolkę za pomocą kontrolki DynamicDataManager .

RemovedControl(Control)

Wywoływane po usunięciu kontrolki podrzędnej z Controls kolekcji Control obiektu.

(Odziedziczone po Control)
Render(HtmlTextWriter)

Wysyła zawartość kontroli serwera do dostarczonego HtmlTextWriter obiektu, który zapisuje zawartość do renderowania na kliencie.

(Odziedziczone po Control)
RenderChildren(HtmlTextWriter)

Wyprowadza zawartość elementów podrzędnych formantu serwera do dostarczonego HtmlTextWriter obiektu, który zapisuje zawartość do renderowania na kliencie.

(Odziedziczone po Control)
RenderControl(HtmlTextWriter)

Dane wyjściowe serwera steruje zawartością dostarczonego HtmlTextWriter obiektu i przechowuje informacje śledzenia dotyczące kontrolki, jeśli śledzenie jest włączone.

(Odziedziczone po Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Dane wyjściowe serwera steruje zawartością dostarczonego HtmlTextWriter obiektu przy użyciu dostarczonego ControlAdapter obiektu.

(Odziedziczone po Control)
ResolveAdapter()

Pobiera kartę sterową 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 programu obsługi zdarzeń w celu renderowania kontrolki serwera i jego zawartości 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 można je przechowywać w obiekcie kontrolki 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 członka, zobacz ControlBuilder.

(Odziedziczone po Control)
IControlDesignerAccessor.GetDesignModeState()

Aby uzyskać opis tego członka, zobacz GetDesignModeState().

(Odziedziczone po Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Aby uzyskać opis tego członka, zobacz SetDesignModeState(IDictionary).

(Odziedziczone po Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Aby uzyskać opis tego członka, zobacz SetOwnerControl(Control).

(Odziedziczone po Control)
IControlDesignerAccessor.UserData

Aby uzyskać opis tego członka, zobacz UserData.

(Odziedziczone po Control)
IDataBindingsAccessor.DataBindings

Aby uzyskać opis tego członka, zobacz DataBindings.

(Odziedziczone po Control)
IDataBindingsAccessor.HasDataBindings

Aby uzyskać opis tego członka, zobacz HasDataBindings.

(Odziedziczone po Control)
IExpressionsAccessor.Expressions

Aby uzyskać opis tego członka, zobacz Expressions.

(Odziedziczone po Control)
IExpressionsAccessor.HasExpressions

Aby uzyskać opis tego członka, zobacz HasExpressions.

(Odziedziczone po Control)
IParserAccessor.AddParsedSubObject(Object)

Aby uzyskać opis tego członka, 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