ObjectDataSource.SelectParameters Özellik

Tanım

ö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 QueryStringParameterQueryStringParameter 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.

Şunlara uygulanır

Ayrıca bkz.