ObjectDataSourceEventArgs Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje data pro ObjectCreating ovládací prvek a ObjectCreated události ObjectDataSource .
public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
- Dědičnost
Příklady
Tato část obsahuje dva příklady kódu. První příklad kódu ukazuje použití ObjectDataSource ovládacího prvku s obchodním objektem a ovládacím GridView prvku k načtení a zobrazení informací. Druhý příklad kódu obsahuje příklad základního obchodního objektu, který používá první příklad kódu.
Následující příklad kódu ukazuje použití ObjectDataSource ovládacího prvku s obchodním objektem a ovládacím GridView prvku k načtení a zobrazení informací. V tomto příkladu, stejně jako v mnoha reálných scénářích, nemusí být možné ani vhodné použít výchozí instanci obchodního objektu s ovládacím ObjectDataSource prvku. V tomto příkladu ObjectDataSource nelze úspěšně volat konstruktor bez parametrů, protože vyvolá výjimku. V některých případech může být konstruktor bez parametrů chráněn a v jiných nemusí inicializovat obchodní objekt do požadovaného stavu. Bez ohledu na důvod můžete vytvořit instanci obchodního objektu sami a nastavit instanci na ObjectInstance vlastnost objektu ObjectDataSourceEventArgs , který je předán obslužné rutině. Toto je instance obchodního objektu, kterou ObjectDataSource bude používat k provádění své práce.
<%@ 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>
<%@ Import namespace="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">
<script runat="server">
Private Sub NorthwindLogicCreating(sender As Object, e As ObjectDataSourceEventArgs)
' Create an instance of the business object using a non-default constructor.
Dim eLogic As EmployeeLogic = New EmployeeLogic("Not created by the default constructor!")
' Set the ObjectInstance property so that the ObjectDataSource uses the created instance.
e.ObjectInstance = eLogic
End Sub ' NorthwindLogicCreating
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - VB 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.VB.EmployeeLogic" >
</asp:objectdatasource>
</form>
</body>
</html>
Následující příklad kódu ukazuje příklad základní obchodní objekt, který používá předchozí příklad kódu.
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;
}
}
}
Imports System.Collections
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace Samples.AspNet.VB
Public Class EmployeeLogic
Public Sub New()
Throw New NotSupportedException("Initialize data.")
End Sub
Public Sub New(ByVal data As String)
_data = data
End Sub
Private _data As String
' Returns a collection of NorthwindEmployee objects.
Public Function GetAllEmployees() As ICollection
Dim al As New ArrayList()
al.Add(_data)
Return al
End Function 'GetAllEmployees
End Class
End Namespace ' Samples.AspNet.VB
Poznámky
Třída ObjectDataSourceEventArgs se používá v OnObjectCreating metodách a OnObjectCreated poskytuje přístup k instanci obchodního objektu před provedením operací s daty, které používají ObjectDataSource ovládací prvek a obchodní objekt. Obchodní objekt je nastavený a přístupný pomocí ObjectInstance vlastnosti. Přidáním delegáta obslužné rutiny události pro zpracování ObjectCreating události můžete vytvořit instanci obchodního objektu ve vlastním kódu místo ObjectDataSource vytvoření instance. To je užitečné, když chcete, aby nevýstavná instance vašeho obchodního objektu nebo volala konstruktor bez parametrů k vytvoření instance; vždy ObjectDataSource volá konstruktor bez parametrů k vytvoření instance obchodního objektu, se kterým pracuje. Můžete také přidat delegát obslužné rutiny události pro zpracování ObjectCreated události, který umožňuje přístup ke všem veřejně vystaveným členům obchodního objektu, aby provedl další inicializaci nebo práci.
Metody OnObjectCreating a OnObjectCreated metody nejsou volány ovládacím ObjectDataSource prvku, pokud je metoda obchodního objektu, která provádí operace statics daty .
Ovládací ObjectDataSource prvek zveřejňuje mnoho událostí, které můžete zpracovat pro práci s podkladovým obchodním objektem v různých časech jeho životního cyklu. Následující tabulka uvádí události a přidružené EventArgs třídy a delegáty obslužné rutiny událostí.
| Zvláštní událost | EventArgs | EventHandler |
|---|---|---|
|
ObjectCreating. Nastane bezprostředně před vytvořením instance obchodního objektu. |
ObjectDataSourceEventArgs | ObjectDataSourceObjectEventHandler |
|
ObjectCreated. Nastane okamžitě po vytvoření instance obchodního objektu. |
ObjectDataSourceEventArgs | ObjectDataSourceObjectEventHandler |
|
Selecting. Nastane před načtením dat. |
ObjectDataSourceSelectingEventArgs | ObjectDataSourceSelectingEventHandler |
|
Inserting, Updating a Deleting. Nastane před provedením operace vložení, aktualizace nebo odstranění. |
ObjectDataSourceMethodEventArgs | ObjectDataSourceMethodEventHandler |
|
Selected. Nastane po načtení dat. |
ObjectDataSourceStatusEventArgs | ObjectDataSourceStatusEventHandler |
|
Inserted, , UpdatedDeleted. Nastane po dokončení operace vložení, aktualizace nebo odstranění. |
ObjectDataSourceStatusEventArgs | ObjectDataSourceStatusEventHandler |
|
ObjectDisposing. Nastane před zničením obchodního objektu. |
ObjectDataSourceDisposingEventArgs | ObjectDataSourceDisposingEventHandler |
Konstruktory
| Name | Description |
|---|---|
| ObjectDataSourceEventArgs(Object) |
Inicializuje novou instanci ObjectDataSourceEventArgs třídy pomocí zadaného objektu. |
Vlastnosti
| Name | Description |
|---|---|
| ObjectInstance |
Získá nebo nastaví objekt, který představuje obchodní objekt, se ObjectDataSource kterým ovládací prvek provádí datové operace. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |