ObjectDataSource.SelectMethod Właściwość
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.
Pobiera lub ustawia nazwę metody lub funkcji wywoływanej przez ObjectDataSource kontrolkę w celu pobrania danych.
public:
property System::String ^ SelectMethod { System::String ^ get(); void set(System::String ^ value); };
public string SelectMethod { get; set; }
member this.SelectMethod : string with get, set
Public Property SelectMethod As String
Wartość właściwości
Ciąg reprezentujący nazwę metody lub funkcji używanej ObjectDataSource do pobierania danych. Wartością domyślną jest ciąg pusty ("").
Przykłady
W poniższym przykładzie kodu pokazano, jak kontrolka GridView może wyświetlać dane przy użyciu ObjectDataSource kontrolki na stronie Web Forms. Element ObjectDataSource identyfikuje częściowo lub w pełni kwalifikowaną nazwę klasy z jej TypeName właściwością oraz metodę wywoływaną w celu pobrania danych z jej SelectMethod właściwością. W czasie wykonywania obiekt jest tworzony, a metoda jest wywoływana przy użyciu odbicia. Kontrolka GridView wylicza za pośrednictwem IEnumerable kolekcji zwracanej przez metodę określoną przez SelectMethod właściwość i wyświetla dane.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!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>ObjectDataSource - C# Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:gridview
id="GridView1"
runat="server"
datasourceid="ObjectDataSource1" />
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetAllEmployees"
typename="Samples.AspNet.CS.EmployeeLogic" />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!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>ObjectDataSource - Visual Basic Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:gridview
id="GridView1"
runat="server"
datasourceid="ObjectDataSource1" />
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetAllEmployees"
typename="Samples.AspNet.VB.EmployeeLogic" />
</form>
</body>
</html>
Uwagi
Określona metoda może mieć dowolny podpis metody, ale musi zwrócić jeden z typów przedstawionych w poniższej tabeli, aby kontrolka ObjectDataSource mogła ją wywołać pomyślnie.
Typ zwracany | Akcja |
---|---|
IEnumerable | Element IEnumerable jest zwracany przez metodę Select . |
DataTable | Element jest DataView tworzony przy użyciu DataTable metody i zwracanej przez metodę Select . |
DataView | Element A DataView jest zwracany przez metodę Select . |
DataSet | Pierwszy DataTable element DataSet jest wyodrębniany, a DataView element jest tworzony i zwracany przez metodę Select . |
Object | Obiekt jest owinięty w kolekcji z jednym elementem IEnumerable i zwracany przez metodę Select . |
Właściwość SelectMethod deleguje do SelectMethod właściwości obiektu skojarzonego ObjectDataSourceView z kontrolką ObjectDataSource .
Jeśli używasz ObjectDataSource klasy do usuwania lub aktualizowania danych, upewnij się, że nazwy parametrów skonfigurowane dla ObjectDataSource kontrolki w DeleteParameters kolekcji lub UpdateParameters kolekcji są zgodne z nazwami kolumn zwracanych przez metodę select.
Okres istnienia obiektu
Metoda, która jest identyfikowana przez SelectMethod właściwość, może być metodą wystąpienia lub static
(Shared
w Visual Basic). Jeśli jest to metoda wystąpienia, obiekt biznesowy jest tworzony i niszczony za każdym razem, gdy wywoływana jest metoda określona SelectMethod przez właściwość. Zdarzenia i można obsługiwać ObjectCreated do pracy z obiektem biznesowym przed wywołaną metodą, która jest określona SelectMethod przez właściwość .ObjectCreating Można również obsłużyć ObjectDisposing zdarzenie wywoływane po wywołaniu SelectMethod metody określonej przez właściwość . Jeśli obiekt biznesowy implementuje IDisposable interfejs, Dispose metoda jest wywoływana przed zniszczeniem obiektu. Jeśli metoda to static
(Shared
w Visual Basic), obiekt biznesowy nigdy nie jest tworzony i nie można obsłużyć zdarzeń ObjectCreated, i .ObjectDisposingObjectCreating
Scalanie parametrów
Parametry są dodawane do kolekcji SelectParameters z następujących źródeł:
Deklaratywnie z
SelectParameters
elementu .Programowo z
Selecting
metody .
Najpierw dodawane są parametry wymienione w elemecie SelectParameters
. Po drugie parametry są programowo dodawane i usuwane w Selecting zdarzeniu, które występuje przed uruchomieniem Select metody. Metoda jest rozpoznawana po scaleniu parametrów. Rozwiązanie metody zostało omówione w następnej sekcji.
Ważne
Należy zweryfikować dowolną wartość parametru otrzymaną od klienta. Środowisko uruchomieniowe po prostu podstawi wartość parametru do SelectMethod właściwości .
Rozpoznawanie metody
Po wywołaniu Select metody pola danych z kontrolki powiązanej z danymi, parametry, które zostały utworzone deklaratywnie w elemecie SelectParameters
, a parametry dodane w procedurze Selecting obsługi zdarzeń są scalane. (Aby uzyskać więcej informacji, zobacz poprzednią sekcję). Następnie kontrolka ObjectDataSource próbuje znaleźć metodę do wywołania. Najpierw wyszukuje jedną lub więcej metod o nazwie określonej we SelectMethod właściwości . Jeśli dopasowanie nie zostanie znalezione, InvalidOperationException zostanie zgłoszony wyjątek. Jeśli zostanie znalezione dopasowanie, szuka pasujących nazw parametrów. Załóżmy na przykład, że typ określony przez TypeName właściwość ma dwie metody o nazwie SelectARecord
. Jeden z nich SelectARecord
ma jeden parametr , ID
a drugi SelectARecord
ma dwa parametry: Name
i Number
. SelectParameters Jeśli kolekcja ma tylko jeden parametr o nazwie ID
, wywoływana SelectARecord
jest metoda z tylko parametrem ID
. Typ parametru nie jest sprawdzany podczas rozpoznawania metod. Kolejność parametrów nie ma znaczenia.
DataObjectTypeName Jeśli właściwość jest ustawiona, metoda jest rozpoznawana w inny sposób. Szuka ObjectDataSource metody o nazwie określonej we SelectMethod właściwości , która przyjmuje jeden parametr typu określonego DataObjectTypeName we właściwości . W takim przypadku nazwa parametru nie ma znaczenia.
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla