ObjectDataSource.SelectParameters 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 kolekcję parametrów, które są używane przez metodę SelectMethod określoną przez właściwość.
public:
property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection
Wartość właściwości
Kolekcja parametrów używanych przez metodę SelectMethod określoną przez właściwość.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak pobrać pojedynczy rekord danych przy użyciu kontrolki ObjectDataSource i wyświetlić go w kontrolce DetailsView . Kontrolka ObjectDataSource pobiera określony rekord pracownika przez wywołanie GetEmployee
metody EmployeeLogic
klasy. Metoda GetEmployee
wymaga parametru identyfikatora pracownika. Kontrolka ObjectDataSource używa QueryStringParameter
elementu w znaczniku, aby utworzyć QueryStringParameter obiekt, który pobierze wartość określonego parametru ciągu zapytania z adresu URL i przekaże go do GetEmployee
metody.
Inne klasy parametrów mogą służyć do pobierania wartości z innych źródeł, takich jak właściwości kontrolki, pola formularza, pliki cookie, ASP.NET dane profilu lub stan sesji. Można również użyć obiektu parametru, który jest zdefiniowany w adiustacji, aby przekazać trwale zakodowaną wartość do metody select. Aby uzyskać więcej informacji na temat dostępnych klas parametrów, zobacz Using Parameters with Data Source Controls for Filtering (Używanie parametrów z kontrolkami źródła danych do filtrowania).
Aby uruchomić ten przykład, potrzebne są następujące elementy:
Witryna sieci Web zawierająca parametry połączenia o nazwie
NorthwindConnection
łączącej się z bazą danych Northwind Traders. Aby uzyskać więcej informacji, zobacz ObjectDataSource omówienie klasy.Klasa
EmployeeLogic
, która jest wyświetlana jako jeden z przykładów kodu dla ObjectDataSource przeglądu klasy. Plik klasy musi znajdować się w folderze App_Code.Przykładowy kod można uruchomić jako stronę .aspx. Jeśli żądasz strony bez parametru ciągu zapytania, zostanie wyświetlony komunikat o błędzie. Jeśli żądasz strony przy użyciu ciągu zapytania, takiego jak
?empid=1
po nazwie pliku .aspx, zobaczysz szczegóły żądanego pracownika.
<%@ 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:detailsview
id="DetailsView1"
runat="server"
datasourceid="ObjectDataSource1">
</asp:detailsview>
<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
Security Note: which does not perform validation of input from the client.
Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetEmployee"
typename="Samples.AspNet.CS.EmployeeLogic" >
<selectparameters>
<asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
</selectparameters>
</asp:objectdatasource>
</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 - VB Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:detailsview
id="DetailsView1"
runat="server"
datasourceid="ObjectDataSource1">
</asp:detailsview>
<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
Security Note: which does not perform validation of input from the client.
Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetEmployee"
typename="Samples.AspNet.VB.EmployeeLogic" >
<selectparameters>
<asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
</selectparameters>
</asp:objectdatasource>
</form>
</body>
</html>
Uwagi
Właściwość SelectParameters pobiera SelectParameters właściwość ObjectDataSourceView obiektu skojarzonego z kontrolką ObjectDataSource .
Parametry do SelectParameters kolekcji są dodawane deklaratywnie przy użyciu SelectParameters
elementu lub programowo w programie obsługi zdarzenia Selecting . W czasie wykonywania parametry wymienione w SelectParameters
elemecie są najpierw dodawane do kolekcji. Parametry w kolekcji są następnie dodawane lub usuwane przez program obsługi zdarzenia Selecting . Zdarzenie Selecting jest wywoływane przed uruchomieniem Select metody.
Przed uruchomieniem Select metody nazwy i typy parametrów zawartych w SelectParameters kolekcji muszą być zgodne z podpisem metody określonej przez SelectMethod właściwość . Jeśli na przykład wybrana metoda o nazwie GetEmployeesByStateAndAge
przyjmuje string
i liczbę całkowitą jako parametry, SelectParameters kolekcja musi zawierać dwa parametry. Pierwszy parametr musi zostać rozpoznany jako ciąg, a drugi parametr musi zostać rozpoznany jako liczba całkowita. Oba parametry można określić w znacznikach w elemecie SelectParameters
. Alternatywnie można je dodać w procedurze Selecting obsługi zdarzeń lub dodać jeden parametr w adiustacji, a drugi można dodać programowo.
Aby uzyskać więcej informacji, zobacz Using Parameters with the ObjectDataSource Control and the property (Używanie parametrów za pomocą kontrolkiSelectMethod ObjectDataSource) i właściwości .
Ważne
W kodzie Selecting programu obsługi zdarzeń lub w metodzie określonej przez SelectMethod właściwość upewnij się, że sprawdzasz poprawność dowolnej wartości parametru otrzymanej od klienta.