ObjectDataSource.SelectMethod Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví název metody nebo funkce, kterou ObjectDataSource ovládací prvek vyvolá k načtení dat.
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
Hodnota vlastnosti
Řetězec, který představuje název metody nebo funkce, která ObjectDataSource používá k načtení dat. Výchozí hodnota je prázdný řetězec ("").
Příklady
Následující příklad kódu ukazuje, jak GridView ovládací prvek může zobrazit data pomocí ObjectDataSource ovládacího prvku na Web Forms stránce. Identifikuje ObjectDataSource částečně nebo plně kvalifikovaný název třídy s jeho TypeName vlastností a metodu, která je volána k načtení dat s jeho SelectMethod vlastností. Za běhu se vytvoří objekt a metoda se volá pomocí reflexe. Ovládací GridView prvek provede výčet prostřednictvím IEnumerable kolekce, která je vrácena metodou, která je určena SelectMethod vlastností, a zobrazí data.
<%@ 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>
Poznámky
Zadaná metoda může mít libovolný podpis metody, ale musí vrátit jeden z typů uvedených v následující tabulce, ObjectDataSource aby ji ovládací prvek mohl úspěšně volat.
Návratový typ | Akce |
---|---|
IEnumerable | Metoda IEnumerable vrátí metodu Select . |
DataTable | Vytvoří DataView se pomocí DataTable metody a vrácenou metodou Select . |
DataView | Metoda DataView vrátí Select chybu . |
DataSet | První DataTable z je DataSet extrahována a DataView vytvoří se a vrátí metodou Select . |
Object | Objekt je zabalen do kolekce s jedním prvkem IEnumerable a vrácen metodou Select . |
Vlastnost SelectMethod je delegovaná na SelectMethod vlastnost objektu ObjectDataSourceView , který je přidružen k ovládacímu prvku ObjectDataSource .
Pokud používáte ObjectDataSource třídu k odstranění nebo aktualizaci dat, ujistěte se, že názvy parametrů nakonfigurované pro ObjectDataSource ovládací prvek v DeleteParameters kolekci nebo UpdateParameters kolekci odpovídají názvům sloupců vráceným metodou select.
Doba života objektu
Metoda identifikovaná SelectMethod vlastností může být metoda instance nebo static
metoda (Shared
v jazyce Visual Basic). Pokud se jedná o metodu instance, obchodní objekt je vytvořen a zničen při každém zavolání metody, která je určena SelectMethod vlastností. Můžete zpracovat ObjectCreated události a ObjectCreating pro práci s obchodním objektem před zavoláním metody, která je určena SelectMethod vlastností. Můžete také zpracovat ObjectDisposing událost, která je vyvolána po zavolání metody určené SelectMethod vlastností . Pokud obchodní objekt implementuje IDisposable rozhraní, Dispose je volána metoda před zničením objektu. Pokud je static
metoda (Shared
v jazyce Visual Basic), obchodní objekt se nikdy nevytvořil a nelze zpracovat ObjectCreatedudálosti , ObjectCreatinga ObjectDisposing .
Slučování parametrů
Parametry se do SelectParameters kolekce přidávají z těchto zdrojů:
Deklarativně z elementu
SelectParameters
.Programově z
Selecting
metody .
Nejprve se přidají parametry uvedené v elementu SelectParameters
. Za druhé se parametry programově přidávají a odebírají v Selecting události, která nastane před spuštěním Select metody. Metoda je vyřešena po sloučení parametrů. Řešení metody je popsáno v další části.
Důležité
Měli byste ověřit všechny hodnoty parametrů, které obdržíte od klienta. Modul runtime jednoduše nahradí hodnotu parametru do SelectMethod vlastnosti .
Řešení metody
Při zavolání Select metody jsou všechna datová pole z ovládacího prvku vázaného na data, parametry vytvořené deklarativně v elementu SelectParameters
a parametry přidané v Selecting obslužné rutině události sloučeny. (Další informace najdete v předchozí části.) Ovládací prvek se ObjectDataSource pak pokusí najít metodu, která se má volat. Nejprve vyhledá jednu nebo více metod s názvem, který je zadán ve SelectMethod vlastnosti . Pokud se nenajde žádná shoda, InvalidOperationException vyvolá se výjimka. Pokud se najde shoda, hledá odpovídající názvy parametrů. Předpokládejme například, že typ určený TypeName vlastností má dvě metody s názvem SelectARecord
. Jeden SelectARecord
má jeden parametr, ID
a druhý SelectARecord
má dva parametry, Name
a Number
. SelectParameters Pokud má kolekce pouze jeden parametr s názvem ID
, volá se SelectARecord
metoda pouze s parametrem ID
. Typ parametru se při překladu metod nekontroluje. Nezáleží na pořadí parametrů.
DataObjectTypeName Pokud je vlastnost nastavena, metoda je vyřešena jiným způsobem. Hledá ObjectDataSource metodu s názvem, který je zadán ve SelectMethod vlastnosti , která přebírá jeden parametr typu, který je zadán ve DataObjectTypeName vlastnosti . V tomto případě nezáleží na názvu parametru.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro