ObjectDataSourceEventArgs Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller data för ObjectCreating kontrollens ObjectCreated händelser och ObjectDataSource .
public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
- Arv
Exempel
Det här avsnittet innehåller två kodexempel. Det första kodexemplet visar hur du använder en ObjectDataSource kontroll med ett affärsobjekt och en GridView kontroll för att hämta och visa information. Det andra kodexemplet innehåller det exempel på grundläggande affärsobjekt som används i det första kodexemplet.
Följande kodexempel visar hur du använder en ObjectDataSource kontroll med ett affärsobjekt och en GridView kontroll för att hämta och visa information. I det här exemplet, som i många verkliga scenarier, kanske det inte är möjligt eller lämpligt att använda en standardinstans av affärsobjektet med ObjectDataSource kontrollen. I det här exemplet ObjectDataSource kan inte anropa den parameterlösa konstruktorn eftersom det utlöser ett undantag. I vissa fall kan den parameterlösa konstruktorn skyddas och i andra fall kanske den inte initierar affärsobjektet till ett önskat tillstånd. Oavsett orsak kan du skapa en instans av affärsobjektet själv och ange instansen ObjectInstance till egenskapen för objektet ObjectDataSourceEventArgs som skickas till hanteraren. Det här är den instans av affärsobjektet ObjectDataSource som ska användas för att utföra sitt arbete.
<%@ 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>
Följande kodexempel visar exempel på det grundläggande affärsobjekt som används i föregående kodexempel.
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
Kommentarer
Klassen ObjectDataSourceEventArgs används i OnObjectCreating metoderna och OnObjectCreated för att ge åtkomst till affärsobjektinstansen innan dataåtgärder som använder ObjectDataSource kontrollen och affärsobjektet utförs. Affärsobjektet har angetts och använts med hjälp av ObjectInstance egenskapen . Genom att lägga till en händelsehanterardelegat för att hantera ObjectCreating händelsen kan du skapa en instans av affärsobjektet i anpassad kod i stället för att ObjectDataSource utföra instansieringen. Detta är användbart när du vill ha en icke-standardinstans av ditt affärsobjekt eller anropa en icke-parameterlös konstruktor för att skapa instansen. anropar ObjectDataSource alltid den parameterlösa konstruktorn för att skapa en instans av det affärsobjekt som den fungerar med. Du kan också lägga till ett händelsehanterardelegat för att hantera ObjectCreated händelsen, vilket gör att du kan komma åt alla offentligt exponerade medlemmar i affärsobjektet för att utföra ytterligare initiering eller arbete.
Metoderna OnObjectCreating och OnObjectCreated anropas inte av ObjectDataSource kontrollen, om affärsobjektmetoden som utför dataåtgärderna är static.
Kontrollen ObjectDataSource exponerar många händelser som du kan hantera för att arbeta med det underliggande affärsobjektet vid olika tidpunkter i dess livscykel. I följande tabell visas händelser och associerade EventArgs klasser och händelsehanterardelegater.
Konstruktorer
| Name | Description |
|---|---|
| ObjectDataSourceEventArgs(Object) |
Initierar en ny instans av ObjectDataSourceEventArgs klassen med det angivna objektet. |
Egenskaper
| Name | Description |
|---|---|
| ObjectInstance |
Hämtar eller anger ett objekt som representerar det affärsobjekt som ObjectDataSource kontrollen utför dataåtgärder med. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |