Aracılığıyla paylaş


ObjectDataSource.SelectMethod Özellik

Tanım

Denetimin verileri almak için çağırdığını yöntem veya işlevin ObjectDataSource adını alır veya ayarlar.

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

Özellik Değeri

Veri almak için kullanılan yöntemin veya işlevin ObjectDataSource adını temsil eden bir dize. Varsayılan değer boş bir dizedir ("").

Örnekler

Aşağıdaki kod örneği, bir denetimin Web Forms sayfasındaki bir GridViewObjectDataSource denetimi kullanarak verileri nasıl görüntüleyebileceğini gösterir. özelliğiyle ObjectDataSource kısmen veya tam sınıf adını ve özelliğiyle TypeNameSelectMethod veri almak için çağrılan bir yöntemi tanımlar. Çalışma zamanında nesnesi oluşturulur ve yöntemi yansıma kullanılarak çağrılır. Denetim, GridView özelliği tarafından SelectMethod belirtilen yöntemi tarafından döndürülen koleksiyonda IEnumerable numaralandırılır ve verileri görüntüler.

<%@ 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>

Açıklamalar

Belirtilen yöntemin herhangi bir yöntem imzası olabilir, ancak denetimin başarıyla çağırması için ObjectDataSource aşağıdaki tabloda gösterilen türlerden birini döndürmesi gerekir.

Dönüş türü Eylem
IEnumerable IEnumerable yöntemi tarafından Select döndürülür.
DataTable ile DataView oluşturulur DataTable ve yöntemi tarafından Select döndürülür.
DataView DataView yöntemi tarafından Select döndürülür.
DataSet öğesinin ilki DataTableDataSet ayıklanır ve yöntemi tarafından Select oluşturulur DataView ve döndürülür.
Object nesnesi tek öğeli IEnumerable bir koleksiyonda sarmalanır ve yöntemi tarafından Select döndürülür.

özelliği, SelectMethod denetimle ilişkili nesnenin ObjectDataSourceView özelliğini temsil ederObjectDataSource.SelectMethod

Verileri silmek veya güncelleştirmek için sınıfını kullandığınızdaObjectDataSource, koleksiyon veya UpdateParameters koleksiyondaki DeleteParameters denetim için ObjectDataSource yapılandırılan parametre adlarının select yöntemi tarafından döndürülen sütun adlarına eşleştiğinden emin olun.

Nesne Ömrü

özelliği tarafından SelectMethod tanımlanan yöntem bir örnek yöntemi veya static (Shared Visual Basic'te) yöntemi olabilir. Bu bir örnek yöntemiyse, özelliği tarafından SelectMethod belirtilen yöntem her çağrıldığında iş nesnesi oluşturulur ve yok edilir. özelliği tarafından belirtilen yöntem çağrılmadan önce iş nesnesiyle çalışmak için ve ObjectCreating olaylarını SelectMethod işleyebilirsinizObjectCreated. Özelliği tarafından SelectMethod belirtilen yöntem çağrıldıktan sonra tetiklenen olayı da işleyebilirsinizObjectDisposing. İş nesnesi arabirimini uygularsa IDisposable , Dispose nesne yok edilmeden önce yöntemi çağrılır. Yöntem static (Shared Visual Basic'te) ise, iş nesnesi hiçbir zaman oluşturulmaz ve , ObjectCreatingve ObjectDisposing olaylarını ObjectCreatedişleyemezsiniz.

Parametre Birleştirme

Parametreler şu kaynaklardan koleksiyona SelectParameters eklenir:

  • öğesinden bildirim temelli SelectParameters olarak.

  • yönteminden Selecting program aracılığıyla.

İlk olarak, öğesinde SelectParameters listelenen parametreler eklenir. İkinci olarak, yöntem çalıştırılmadan önce Select gerçekleşen olayda Selecting parametreler program aracılığıyla eklenir ve kaldırılır. yöntemi, parametreler birleştirildikten sonra çözümlenir. Yöntem çözümlemesi sonraki bölümde açıklanmıştır.

Önemli

İstemciden aldığınız tüm parametre değerlerini doğrulamanız gerekir. Çalışma zamanı, parametre değerini özelliğiyle değiştirmesi SelectMethod yeterlidir.

Yöntem Çözümleme

Select yöntemi çağrıldığında, veri bağlı denetimden veri alanları, öğesinde SelectParameters bildirimli olarak oluşturulan parametreler ve olay işleyicisine eklenen parametrelerin Selecting tümü birleştirilir. (Daha fazla bilgi için önceki bölüme bakın.) Denetim ObjectDataSource daha sonra çağrılacak bir yöntem bulmaya çalışır. İlk olarak, özelliğinde SelectMethod belirtilen ada sahip bir veya daha fazla yöntem arar. Eşleşme bulunmazsa bir InvalidOperationException özel durum oluşturulur. Eşleşme bulunursa eşleşen parametre adlarını arar. Örneğin, özelliği tarafından belirtilen bir türün TypeName adlı SelectARecordiki yöntemi olduğunu varsayalım. Birinin SelectARecord bir parametresi ID, diğerinde SelectARecord ise iki parametresi Name vardır ve Number. Koleksiyonun SelectParameters adlı IDtek bir parametresi varsa, SelectARecord yalnızca parametresine ID sahip olan yöntem çağrılır. Parametrelerin türü, yöntemleri çözümlenirken denetlenmedi. Parametrelerin sırası önemli değildir.

DataObjectTypeName özelliği ayarlanırsa yöntemi farklı bir şekilde çözümlenir. , ObjectDataSource özelliğinde belirtilen türde bir parametre alan özelliğinde SelectMethodDataObjectTypeName belirtilen ada sahip bir yöntem arar. Bu durumda, parametrenin adı önemli değildir.

Şunlara uygulanır

Ayrıca bkz.