ObjectDataSource.SelectParameters Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
özelliği tarafından SelectMethod belirtilen yöntemi tarafından kullanılan bir parametre koleksiyonunu alır.
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
Özellik Değeri
özelliği tarafından SelectMethod belirtilen yöntemi tarafından kullanılan parametre koleksiyonu.
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, bir denetim kullanarak tek bir veri kaydının nasıl alınıp bir ObjectDataSource denetimde DetailsView görüntüleneceğini gösterir. Denetim, ObjectDataSource sınıfın GetEmployee
yöntemini EmployeeLogic
çağırarak belirli bir çalışan kaydını alır.
GetEmployee
yöntemi bir çalışan kimliği parametresi gerektirir. Denetim, ObjectDataSource URL'den belirtilen bir QueryStringParameter
QueryStringParameter sorgu dizesi parametresinin değerini alacak ve yöntemine geçirecek bir nesne oluşturmak için işaretlemedeki bir öğeyi GetEmployee
kullanır.
Diğer parametre sınıfları denetim özellikleri, form alanları, tanımlama bilgileri, ASP.NET profil verileri veya oturum durumu gibi diğer kaynaklardan değer almak için kullanılabilir. Sabit kodlanmış bir değeri seçme yöntemine geçirmek için işaretlemede tanımlanan bir parametre nesnesi de kullanabilirsiniz. Kullanılabilen parametre sınıfları hakkında daha fazla bilgi için bkz. Filtreleme için Veri Kaynağı Denetimleri ile Parametreleri Kullanma.
Bu örneği çalıştırmak için aşağıdakilere ihtiyacınız olacaktır:
Northwind Traders veritabanına bağlanan adlı
NorthwindConnection
bağlantı dizesine sahip bir Web sitesi. Daha fazla bilgi için bkz. sınıfa ObjectDataSource genel bakış.Sınıfa
EmployeeLogic
genel bakış için ObjectDataSource kod örneklerinden biri olarak gösterilen sınıf. Sınıf dosyası App_Code klasöründe bulunmalıdır.Örnek kod bir .aspx sayfası olarak çalıştırılabilir. Sorgu dizesi parametresi olmadan sayfayı isterseniz bir hata iletisi görüntülenir. Sayfayı .aspx dosyasının adından sonra gibi
?empid=1
bir sorgu dizesi kullanarak isterseniz, istenen çalışanın ayrıntılarını görürsünüz.
<%@ 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>
Açıklamalar
özelliği, SelectParameters denetimle ObjectDataSource ilişkili nesnenin ObjectDataSourceView özelliğini alırSelectParameters.
öğesini kullanarak SelectParameters
veya olay işleyicisinde SelectParameters program aracılığıyla bildirim temelli olarak koleksiyona Selecting parametreler eklersiniz. Çalışma zamanında, öğesinde SelectParameters
listelenen parametreler önce koleksiyona eklenir. Daha sonra koleksiyondaki parametreler olay işleyicisi Selecting tarafından eklenir veya kaldırılır. Yöntem Selecting çalıştırılana Select kadar olay oluşturulur.
Select Yöntemi çalıştırmadan önce, koleksiyonda SelectParameters yer alan parametrelerin adları ve türleri özelliği tarafından belirtilen yöntemin imzası ile SelectMethod eşleşmelidir. Örneğin, adlı GetEmployeesByStateAndAge
bir seçme yöntemi parametre olarak bir string
ve bir tamsayı alırsa, SelectParameters koleksiyon iki parametre içermelidir. İlk parametre bir dizeye çözümlenmelidir ve ikinci parametre tamsayıya çözümlenmelidir. Her iki parametre de öğesindeki işaretlemede SelectParameters
belirtilebilir. Alternatif olarak, olay işleyicisine Selecting eklenebilirler veya işaretlemeye bir parametre eklenebilir ve diğeri program aracılığıyla eklenebilir.
Daha fazla bilgi için bkz. ObjectDataSource Denetimi veSelectMethod özelliğiyle Parametreleri Kullanma.
Önemli
Olay işleyicisinin Selecting kodunda veya özelliği tarafından SelectMethod belirtilen yöntemde, istemciden alınan parametre değerlerini doğruladığınızdan emin olun.