ObjectDataSourceObjectEventHandler Delegat

Definicja

Reprezentuje metodę, która będzie obsługiwać ObjectCreating zdarzenia i ObjectCreated kontrolki ObjectDataSource .

C#
public delegate void ObjectDataSourceObjectEventHandler(object sender, ObjectDataSourceEventArgs e);

Parametry

sender
Object

Źródło zdarzenia.

e
ObjectDataSourceEventArgs

Element ObjectDataSourceEventArgs zawierający dane zdarzenia.

Przykłady

Poniższy przykład kodu pokazuje, jak używać kontrolki ObjectDataSource z obiektem biznesowym i kontrolką GridView do pobierania i wyświetlania informacji. W tym przykładzie, podobnie jak w przypadku wielu rzeczywistych scenariuszy, użycie domyślnego wystąpienia obiektu biznesowego z kontrolką ObjectDataSource może być niemożliwe lub odpowiednie. W tym przykładzie nie można pomyślnie wywołać konstruktora bez parametrów, ObjectDataSource ponieważ zgłosi wyjątek. W niektórych przypadkach konstruktor bez parametrów może być chroniony, a w innych może nie zainicjować obiektu biznesowego do żądanego stanu. Niezależnie od przyczyny możesz utworzyć wystąpienie obiektu biznesowego samodzielnie i ustawić wystąpienie na ObjectInstance właściwość ObjectDataSourceEventArgs obiektu przekazanego do programu obsługi. Jest to wystąpienie obiektu biznesowego, które ObjectDataSource będzie używane do wykonywania swojej pracy.

ASP.NET (C#)
<%@ Import namespace="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">
<script runat="server">
private void NorthwindLogicCreating(object sender, ObjectDataSourceEventArgs e)
{
    // Create an instance of the business object using a non-default constructor.
    EmployeeLogic eLogic = new EmployeeLogic("Not created by the default constructor!");
    
    // Set the ObjectInstance property so that the ObjectDataSource uses the created instance.
    e.ObjectInstance = eLogic;
}

</script>
<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:gridview>

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          onobjectcreating="NorthwindLogicCreating"
          typename="Samples.AspNet.CS.EmployeeLogic" >
        </asp:objectdatasource>

    </form>
  </body>
</html>

Poniższy przykład kodu przedstawia przykładowy podstawowy obiekt biznesowy używany w poprzednim przykładzie.

C#
namespace Samples.AspNet.CS {

using System;
using System.Collections;
using System.Web.UI;
using System.Web.UI.WebControls;

  public class EmployeeLogic {

    public EmployeeLogic() {  
        throw new NotSupportedException("Initialize data.");
    }
    
    public EmployeeLogic(string data) {
        _data = data;
    }

    private string _data;
    
    // Returns a collection of NorthwindEmployee objects.
    public ICollection GetAllEmployees () {
      ArrayList al = new ArrayList();      
      al.Add(_data);        
      return al;
    }
  }
}

Uwagi

Podczas tworzenia delegata należy zidentyfikować metodę ObjectDataSourceObjectEventHandler , która będzie obsługiwać zdarzenie. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, dodaj wystąpienie delegata do zdarzenia. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata. Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.

Metody rozszerzania

GetMethodInfo(Delegate)

Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata.

Dotyczy

Produkt Wersje
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Zobacz też