ObjectDataSourceEventArgs.ObjectInstance Tulajdonság
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.
Lekéri vagy beállítja azt az üzleti objektumot, amellyel a ObjectDataSource vezérlő adatműveleteket hajt végre.
public:
property System::Object ^ ObjectInstance { System::Object ^ get(); void set(System::Object ^ value); };
public object ObjectInstance { get; set; }
member this.ObjectInstance : obj with get, set
Public Property ObjectInstance As Object
Tulajdonság értéke
Az üzleti objektum az ObjectDataSource adatműveletek végrehajtására használ, ellenkező esetben, nullha null a művelet továbbításra kerül a ObjectDataSourceEventArgs.
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