ObjectDataSourceEventArgs Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Adatokat biztosít a ObjectCreating vezérlőről és ObjectCreated az eseményekről ObjectDataSource .
public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
- Öröklődés
Példák
Ez a szakasz két példakódot tartalmaz. Az első példakód bemutatja, hogyan használható egy ObjectDataSource vezérlő egy üzleti objektummal és egy GridView vezérlővel az információk lekérésére és megjelenítésére. A második példakód az első példakód által használt egyszerű üzleti objektumot tartalmazza.
Az alábbi példakód bemutatja, hogyan használható egy ObjectDataSource vezérlő egy üzleti objektummal és egy GridView vezérlővel az információk lekérésére és megjelenítésére. Ebben a példában, mint sok valós forgatókönyv esetében, előfordulhat, hogy nem lehetséges és nem is megfelelő az üzleti objektum alapértelmezett példányának használata a ObjectDataSource vezérlővel. Ebben a példában a ObjectDataSource paraméter nélküli konstruktor nem hívható meg sikeresen, mert kivételt fog eredményezni. Egyes esetekben előfordulhat, hogy a paraméter nélküli konstruktor védett, másokban pedig nem inicializálja az üzleti objektumot a kívánt állapotba. Bármi is legyen az oka, létrehozhatja az üzleti objektum egy példányát, és beállíthatja a példányt annak az objektumnak a ObjectInstanceObjectDataSourceEventArgs tulajdonságára, amelyet a kezelőnek ad át. Ez az az üzleti objektumpéldány, amelyet a ObjectDataSource program a munkájához használ.
<%@ 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>
Az alábbi példakód az előző kód példában használt alapszintű üzleti objektumot mutatja be.
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
Megjegyzések
Az ObjectDataSourceEventArgs osztályt a rendszer az üzleti objektumpéldányhoz való hozzáférés biztosítására használja a OnObjectCreatingOnObjectCreated vezérlőt és az üzleti objektumot használó ObjectDataSource adatműveletek végrehajtása előtt. Az üzleti objektum beállítása és elérése a ObjectInstance tulajdonság használatával történik. Ha egy eseménykezelő delegáltat ad hozzá az ObjectCreating esemény kezeléséhez, az üzleti objektum egy példányát egyéni kódban hozhatja létre a ObjectDataSource példányosítás végrehajtása helyett. Ez akkor hasznos, ha az üzleti objektum nem alapértelmezett példányát vagy nem paraméter nélküli konstruktort szeretne meghívni a példány létrehozásához; a ObjectDataSource mindig meghívja a paraméter nélküli konstruktort annak az üzleti objektumnak a példányának létrehozásához, amellyel dolgozik. Az esemény kezeléséhez ObjectCreated hozzáadhat egy eseménykezelő delegáltat is, amely lehetővé teszi az üzleti objektum nyilvánosan közzétett tagjainak elérését, hogy bármilyen további inicializálást vagy munkát végezzen.
A OnObjectCreating vezérlő nem hívja meg a OnObjectCreatedObjectDataSource metódusokat, ha az adatműveleteket végrehajtó üzleti objektum metódusa.static
A ObjectDataSource vezérlő számos olyan eseményt tesz elérhetővé, amelyeket kezelni tud a mögöttes üzleti objektummal való munkához az életciklus különböző időszakaiban. Az alábbi táblázat az eseményeket és a kapcsolódó EventArgs osztályokat és eseménykezelő meghatalmazottakat sorolja fel.
Konstruktorok
| Name | Description |
|---|---|
| ObjectDataSourceEventArgs(Object) |
Inicializálja az osztály új példányát ObjectDataSourceEventArgs a megadott objektummal. |
Tulajdonságok
| Name | Description |
|---|---|
| ObjectInstance |
Lekéri vagy beállítja azt az üzleti objektumot, amellyel a ObjectDataSource vezérlő adatműveleteket hajt végre. |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |