ObjectDataSource.SelectMethod Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri vagy beállítja annak a metódusnak vagy függvénynek a nevét, amelyet a vezérlő meghív az ObjectDataSource adatok lekéréséhez.
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
Tulajdonság értéke
Egy sztring, amely annak a metódusnak vagy függvénynek a nevét jelöli, amelyet az ObjectDataSource adatok lekéréséhez használ. Az alapértelmezett érték egy üres sztring ("").
Példák
Az alábbi példakód bemutatja, hogy egy GridView vezérlő hogyan jeleníthet meg adatokat egy ObjectDataSource vezérlőelem használatával egy webűrlapon. A ObjectDataSource részben vagy teljesen minősített osztálynevet a tulajdonságával TypeName azonosítja, és egy metódust, amely meghívja az adatokat a tulajdonságával SelectMethod együtt. Futásidőben létrejön az objektum, és a metódust tükröződés használatával hívjuk meg. A GridView vezérlőelem a tulajdonság által IEnumerable megadott metódus által visszaadott gyűjteményen keresztül SelectMethod számbavételt alkalmaz, és megjeleníti az adatokat.
<%@ 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>
Megjegyzések
A megadott metódus bármilyen metódus-aláírással rendelkezhet, de a vezérlőelem sikeres meghívásához ObjectDataSource az alábbi táblázatban látható egyik típust kell visszaadnia.
| Visszatérési típus | Action |
|---|---|
| IEnumerable | A IEnumerable metódus visszaadja a függvényt Select . |
| DataTable | Az A DataView a metódussal DataTable jön létre, és visszaadja.Select |
| DataView | A metódus visszaadja az A DataView függvényt Select . |
| DataSet | Az első DataTable ki DataSet lesz nyerve, és a DataView metódus létrehozza és visszaadja.Select |
| Object | Az objektum egy egyelemes IEnumerable gyűjteménybe van csomagolva, és a metódus visszaadja Select . |
A SelectMethod tulajdonság delegálja a SelectMethod vezérlőelemhez társított objektum tulajdonságát ObjectDataSourceViewObjectDataSource .
Amikor az osztályt használja az ObjectDataSource adatok törlésére vagy frissítésére, győződjön meg arról, hogy a gyűjteményben vagy ObjectDataSource gyűjteményben a DeleteParameters vezérlőelemhez UpdateParameters konfigurált paraméternevek megegyeznek a kiválasztási módszer által visszaadott oszlopnevekkel.
Objektum élettartama
A SelectMethod tulajdonság által azonosított metódus lehet példánymetódus vagy static (Shared Visual Basic) metódus. Ha ez egy példánymetódus, az üzleti objektum minden alkalommal létrejön és megsemmisül, amikor meghívja a SelectMethod tulajdonság által megadott metódust. A tulajdonság által ObjectCreated megadott metódus meghívása előtt kezelheti az ObjectCreating üzleti objektummal való együttműködéshez szükséges eseményeket és SelectMethod eseményeket. A tulajdonság által ObjectDisposing megadott metódus meghívása után létrehozott eseményt is kezelhetiSelectMethod. Ha az üzleti objektum implementálja az IDisposable interfészt, a Dispose metódus az objektum megsemmisítése előtt lesz meghívva. Ha a metódus static (Shared Visual Basic), az üzleti objektum soha nem jön létre, és nem tudja kezelni a ObjectCreated, ObjectCreating és ObjectDisposing eseményeket.
Paraméter egyesítése
A rendszer a következő forrásokból ad hozzá paramétereket a SelectParameters gyűjteményhez:
Deklaratív módon az
SelectParameterselemből.Programozott módon a
Selectingmetódusból.
Először az elemben SelectParameters felsorolt paraméterek lesznek hozzáadva. Másodszor, a paraméterek programozott módon lesznek hozzáadva és eltávolítva az Selecting eseményben, amely a Select metódus futtatása előtt következik be. A metódus feloldása a paraméterek egyesítése után történik. A metódusfeloldásról a következő szakaszban olvashat.
Important
Ellenőrizze az ügyféltől kapott paraméterértéket. A futtatókörnyezet egyszerűen lecseréli a paraméter értékét a SelectMethod tulajdonságra.
Metódusfeloldás
Select A metódus meghívásakor az adatkötött vezérlő adatmezői, az elemben SelectParameters deklaratív módon létrehozott paraméterek és az Selecting eseménykezelőben hozzáadott paraméterek egyesülnek. (További információkért lásd az előző szakaszt.) A ObjectDataSource vezérlő ezután megkísérli megkeresni a meghívni kívánt metódust. Először egy vagy több metódust keres a tulajdonságban SelectMethod megadott névvel. Ha nem talál egyezést, a rendszer kivételt InvalidOperationException jelez. Ha talál egyezést, akkor megkeresi az egyező paraméterneveket. Tegyük fel például, hogy a tulajdonság által TypeName megadott típusnak két metódusa van.SelectARecord Az egyiknek SelectARecord van egy paramétere, IDa másiknak SelectARecord pedig két paramétere. NameNumber Ha a SelectParameters gyűjteménynek csak egy paramétere van elnevezve ID, a rendszer meghívja azt a SelectARecord metódust, amely csak a ID paramétert használja. A paraméter típusa nincs beadva a metódusok feloldása során. A paraméterek sorrendje nem számít.
Ha a DataObjectTypeName tulajdonság be van állítva, a metódus más módon lesz feloldva. A ObjectDataSource metódus a tulajdonságban SelectMethod megadott névvel rendelkező metódust keres, amely a tulajdonságban DataObjectTypeName megadott típus egyik paraméterét veszi igénybe. Ebben az esetben a paraméter neve nem számít.