ObjectDataSource.SelectMethod Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen des Namens der Methode oder Funktion, die das ObjectDataSource Steuerelement aufruft, um Daten abzurufen.
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
Eigenschaftswert
Eine Zeichenfolge, die den Namen der Methode oder Funktion darstellt, die zum ObjectDataSource Abrufen von Daten verwendet wird. Der Standardwert ist eine leere Zeichenfolge ("").
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein GridView Steuerelement Daten mithilfe eines ObjectDataSource Steuerelements auf einer Web Forms-Seite anzeigen kann. Der ObjectDataSource Identifiziert einen teilweisen oder vollqualifizierten Klassennamen mit seiner TypeName Eigenschaft und einer Methode, die aufgerufen wird, um Daten mit seiner SelectMethod Eigenschaft abzurufen. Zur Laufzeit wird das Objekt erstellt, und die Methode wird mithilfe von Spiegelung aufgerufen. Das GridView Steuerelement listet die IEnumerable Auflistung auf, die von der von der SelectMethod Eigenschaft angegebenen Methode zurückgegeben wird, und zeigt die Daten an.
<%@ 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>
Hinweise
Die angegebene Methode kann eine beliebige Methodensignatur aufweisen, aber sie muss einen der Typen zurückgeben, die in der folgenden Tabelle für das ObjectDataSource Steuerelement angezeigt werden, um es erfolgreich aufzurufen.
| Rückgabetyp | Action |
|---|---|
| IEnumerable | Dies IEnumerable wird von der Select Methode zurückgegeben. |
| DataTable | A DataView wird mithilfe der DataTable Methode erstellt und von dieser Select zurückgegeben. |
| DataView | A DataView wird von der Select Methode zurückgegeben. |
| DataSet | Der erste DataTable der DataSet extrahierten Und eine DataView wird von der Select Methode erstellt und zurückgegeben. |
| Object | Das Objekt wird in eine 1-Element-Auflistung IEnumerable umbrochen und von der Select Methode zurückgegeben. |
Die SelectMethod Eigenschaft delegiert an die SelectMethod Eigenschaft des ObjectDataSourceView Objekts, das dem ObjectDataSource Steuerelement zugeordnet ist.
Wenn Sie die ObjectDataSource Klasse zum Löschen oder Aktualisieren von Daten verwenden, stellen Sie sicher, dass die für das ObjectDataSource Steuerelement in der DeleteParameters Auflistung oder UpdateParameters Sammlung konfigurierten Parameternamen den Spaltennamen entsprechen, die von der Select-Methode zurückgegeben werden.
Objektlebensdauer
Die von der SelectMethod Eigenschaft identifizierte Methode kann eine Instanzmethode oder eine static (Shared in Visual Basic)-Methode sein. Wenn es sich um eine Instanzmethode handelt, wird das Geschäftsobjekt erstellt und jedes Mal zerstört, wenn die von der SelectMethod Eigenschaft angegebene Methode aufgerufen wird. Sie können die ObjectCreated Und-Ereignisse ObjectCreating behandeln, um mit dem Geschäftsobjekt zu arbeiten, bevor die von der SelectMethod Eigenschaft angegebene Methode aufgerufen wird. Sie können auch das ObjectDisposing Ereignis behandeln, das nach der von der SelectMethod Eigenschaft angegebenen Methode ausgelöst wird. Wenn das Geschäftsobjekt die IDisposable Schnittstelle implementiert, wird die Dispose Methode aufgerufen, bevor das Objekt zerstört wird. Wenn die Methode (Sharedin Visual Basic) lautet static , wird das Geschäftsobjekt nie erstellt, und Sie können die ObjectCreatedEreignisse ObjectCreatingund ObjectDisposing Ereignisse nicht behandeln.
Zusammenführen von Parametern
Parameter werden der SelectParameters Auflistung aus diesen Quellen hinzugefügt:
Deklarativ aus dem
SelectParametersElement.Programmgesteuert aus der
SelectingMethode.
Zuerst werden die im SelectParameters Element aufgeführten Parameter hinzugefügt. Zweitens werden Parameter programmgesteuert hinzugefügt und entfernt Selecting , was vor der Ausführung der Select Methode auftritt. Die Methode wird aufgelöst, nachdem die Parameter zusammengeführt wurden. Die Methodenauflösung wird im nächsten Abschnitt erläutert.
Von Bedeutung
Sie sollten jeden Parameterwert überprüfen, den Sie vom Client erhalten. Die Laufzeit ersetzt einfach den Parameterwert in die SelectMethod Eigenschaft.
Methodenauflösung
Wenn die Select Methode aufgerufen wird, werden die Datenfelder aus dem datengebundenen Steuerelement, die parameter, die deklarativ im SelectParameters Element erstellt wurden, und die Parameter, die Selecting im Ereignishandler hinzugefügt wurden, zusammengeführt. (Weitere Informationen finden Sie im vorherigen Abschnitt.) Das ObjectDataSource Steuerelement versucht dann, eine Methode zum Aufrufen zu finden. Zunächst wird nach einer oder mehreren Methoden mit dem Namen gesucht, der in der SelectMethod Eigenschaft angegeben ist. Wenn keine Übereinstimmung gefunden wird, wird eine InvalidOperationException Ausnahme ausgelöst. Wenn eine Übereinstimmung gefunden wird, wird nach übereinstimmenden Parameternamen gesucht. Angenommen, ein Typ, der von der TypeName Eigenschaft angegeben wird, hat zwei Methoden mit dem Namen SelectARecord. Eine SelectARecord hat einen Parameter, IDund der andere SelectARecord hat zwei Parameter und NameNumber. Wenn die SelectParameters Auflistung nur einen Parameter mit dem Namen IDhat, wird die SelectARecord Methode mit nur dem ID Parameter aufgerufen. Der Typ des Parameters wird beim Auflösen der Methoden nicht überprüft. Die Reihenfolge der Parameter spielt keine Rolle.
Wenn die Eigenschaft festgelegt ist, wird die DataObjectTypeName Methode auf eine andere Weise aufgelöst. Die ObjectDataSource Suche nach einer Methode mit dem In der SelectMethod Eigenschaft angegebenen Namen, der einen Parameter des Typs verwendet, der in der DataObjectTypeName Eigenschaft angegeben ist. In diesem Fall spielt der Name des Parameters keine Rolle.