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 události ObjectDataSource a ObjectCreated ovládacího prvku.
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, jak použít ovládací prvek ObjectDataSource s obchodním objektem a ovládací prvek GridView k načtení a zobrazení informací. Druhý příklad kódu poskytuje příklad základního obchodního objektu, který používá první příklad kódu.
Následující příklad kódu ukazuje, jak použít ovládací prvek ObjectDataSource s obchodním objektem a ovládací prvek GridView 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é nebo 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ána obslužné rutině. Toto je instance obchodního objektu ObjectDataSource , kterou použije 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 k poskytnutí přístupu k instanci obchodního objektu před provedením operací s daty, které používají ObjectDataSource ovládací prvek a obchodní objekt. Obchodní objekt se nastavuje a přistupuje k němu pomocí ObjectInstance vlastnosti . Přidáním delegáta obslužné rutiny události pro zpracování ObjectCreating události můžete místo vytváření instance vytvořit instanci obchodního ObjectDataSource objektu ve vlastním kódu. To je užitečné, pokud chcete, aby jiná než výchozí instance obchodního objektu nebo k volání bezparametrového konstruktoru pro 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áta obslužné rutiny události pro zpracování ObjectCreated události, což vám umožní přístup ke všem veřejně vystaveným členům obchodního objektu za účelem provedení jakékoli další inicializace nebo práce.
Metody OnObjectCreating a OnObjectCreated nejsou volána ovládacím ObjectDataSource prvku, pokud je static
metoda obchodního objektu, která provádí operace s daty, .
Ovládací ObjectDataSource prvek zveřejňuje mnoho událostí, které můžete zpracovat při práci se základním obchodním objektem v různých obdobích jeho životního cyklu. Následující tabulka uvádí události a přidružené EventArgs třídy a delegáty obslužných rutin událostí.
Událost | Eventargs | Eventhandler |
---|---|---|
ObjectCreating. Nastane bezprostředně před vytvořením instance obchodního objektu. |
ObjectDataSourceEventArgs | ObjectDataSourceObjectEventHandler |
ObjectCreated. Vyvolá se okamžitě po vytvoření instance obchodního objektu. |
ObjectDataSourceEventArgs | ObjectDataSourceObjectEventHandler |
Selecting. Nastane před načtením dat. |
ObjectDataSourceSelectingEventArgs | ObjectDataSourceSelectingEventHandler |
Inserting, Updatinga Deleting. Nastane před provedením operace vložení, aktualizace nebo odstranění. |
ObjectDataSourceMethodEventArgs | ObjectDataSourceMethodEventHandler |
Selected. Vyvolá se po načtení dat. |
ObjectDataSourceStatusEventArgs | ObjectDataSourceStatusEventHandler |
Inserted, Updated, Deleted. 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
ObjectDataSourceEventArgs(Object) |
Inicializuje novou instanci ObjectDataSourceEventArgs třídy pomocí zadaného objektu. |
Vlastnosti
ObjectInstance |
Získá nebo nastaví objekt, který představuje obchodní objekt, se kterým ObjectDataSource ovládací prvek provádí operace s daty. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |