ObjectDataSourceView.InsertParameters Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Parameterauflistung ab, die die von der InsertMethod-Methode verwendeten Parameter enthält.
public:
property System::Web::UI::WebControls::ParameterCollection ^ InsertParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
public System.Web.UI.WebControls.ParameterCollection InsertParameters { get; }
member this.InsertParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property InsertParameters As ParameterCollection
Eigenschaftswert
Eine ParameterCollection, die die von der InsertMethod-Eigenschaft verwendeten Parameter enthält.
Beispiele
Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie gefilterte Daten mithilfe eines ObjectDataSource Steuerelements mit einem Geschäftsobjekt und einem DetailsView Steuerelement angezeigt werden, um Daten einzufügen. Im zweiten Codebeispiel wird eine Beispielimplementierung der Methode bereitgestellt, die Insert
im ersten Codebeispiel verwendet wird.
Im folgenden Codebeispiel wird veranschaulicht, wie sie ein ObjectDataSource Steuerelement mit einem Geschäftsobjekt und einem DetailsView Steuerelement zum Einfügen von Daten verwenden. Zunächst DetailsView wird ein neuer NorthwindEmployee
Datensatz angezeigt, zusammen mit einer automatisch generierten Schaltfläche "Einfügen ". Nachdem Sie Daten in die Felder des DetailsView Steuerelements eingegeben haben, klicken Sie auf die Schaltfläche "Einfügen ". Die InsertMethod Eigenschaft identifiziert, welche Methode den Insert Vorgang ausführt.
Wenn Sie auf die Schaltfläche " Einfügen " klicken, wird der Insert Vorgang mithilfe der Methode ausgeführt, die von der Eigenschaft und allen Parametern angegeben wird, die in der InsertMethod InsertParameters Auflistung angegeben sind. In diesem Codebeispiel wird ein Parameter in der Auflistung angegeben, die der InsertParameters ID des Vorgesetzten entspricht. Dies liegt daran, dass die ID in der Fields Auflistung für das DetailsView Steuerelement als BoundField Objekt angezeigt wird, wird sie als Zeichenfolge an das ObjectDataSource Steuerelement übergeben. Durch Das Hinzufügen explizit zur InsertParameters Auflistung mit einer Type Eigenschaft, die auf den Int32 Wert festgelegt ist, wird er ordnungsgemäß von ObjectDataSource der Methode als , nicht als int``string
übergeben.
Wenn der Insert Vorgang ausgeführt wird, wird die Methode, die von der InsertMethod Eigenschaft identifiziert wird, aufgerufen. Wenn die Insert
Methode des Objekts über eine Methodensignatur verfügt, die Parameter enthält, muss die InsertParameters Auflistung einen Parameter mit Namen enthalten, die den Methodensignaturparametern entsprechen, damit sie Insert erfolgreich abgeschlossen werden.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - C# Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:detailsview
id="DetailsView1"
runat="server"
autogenerateinsertbutton="True"
autogeneraterows="false"
datasourceid="ObjectDataSource1"
defaultmode="Insert" >
<fields>
<asp:BoundField headertext="FirstName" datafield="FirstName" />
<asp:BoundField headertext="LastName" datafield="LastName" />
<asp:BoundField headertext="Title" datafield="Title" />
<asp:BoundField headertext="Courtesy" datafield="Courtesy" />
<asp:BoundField headertext="Supervisor" datafield="Supervisor" />
</fields>
</asp:detailsview>
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetEmployee"
insertmethod="InsertNewEmployeeWrapper"
typename="Samples.AspNet.CS.EmployeeLogic" >
<selectparameters>
<asp:parameter name="anID" defaultvalue="-1" />
</selectparameters>
<insertparameters>
<asp:parameter name="Supervisor" type="Int32" />
</insertparameters>
</asp:objectdatasource>
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - VB Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:detailsview
id="DetailsView1"
runat="server"
autogenerateinsertbutton="True"
autogeneraterows="false"
datasourceid="ObjectDataSource1"
defaultmode="Insert" >
<fields>
<asp:BoundField headertext="FirstName" datafield="FirstName" />
<asp:BoundField headertext="LastName" datafield="LastName" />
<asp:BoundField headertext="Title" datafield="Title" />
<asp:BoundField headertext="Courtesy" datafield="Courtesy" />
<asp:BoundField headertext="Supervisor" datafield="Supervisor" />
</fields>
</asp:detailsview>
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetEmployee"
insertmethod="InsertNewEmployeeWrapper"
typename="Samples.AspNet.VB.EmployeeLogic" >
<selectparameters>
<asp:parameter name="anID" defaultvalue="-1" />
</selectparameters>
<insertparameters>
<asp:parameter name="Supervisor" type="Int32" />
</insertparameters>
</asp:objectdatasource>
</form>
</body>
</html>
Im folgenden Codebeispiel wird eine Beispielimplementierung der Methode bereitgestellt, die Insert
das vorherige Codebeispiel verwendet. Die InsertNewEmployeeWrapper
Methode wird dem mittleren Objekt hinzugefügt, um das Objekt einfacher mit dem EmployeeLogic
ObjectDataSource Steuerelement in Webszenarien zu arbeiten, ohne eine erhebliche Neuschreibung in die tatsächliche Geschäftslogik zu erstellen.
// This InsertNewEmployeeWrapper method is a wrapper method that enables
// the use of ObjectDataSource and InsertParameters, without
// substantially rewriting the true implementation for the NorthwindEmployee
// or the EmployeeLogic objects.
//
// The parameters to the method must be named the same as the
// DataControlFields used by the GridView or DetailsView controls.
public static void InsertNewEmployeeWrapper (string FirstName,
string LastName,
string Title,
string Courtesy,
int Supervisor)
{
// Build the NorthwindEmployee object and
// call the true implementation.
NorthwindEmployee tempEmployee = new NorthwindEmployee();
tempEmployee.FirstName = FirstName;
tempEmployee.LastName = LastName;
tempEmployee.Title = Title;
tempEmployee.Courtesy = Courtesy;
tempEmployee.Supervisor = Supervisor;
// Call the true implementation.
InsertNewEmployee(tempEmployee);
}
public static void InsertNewEmployee(NorthwindEmployee ne) {
bool retval = ne.Save();
if (! retval) { throw new NorthwindDataException("InsertNewEmployee failed."); }
}
' This InsertNewEmployeeWrapper method is a wrapper method that enables
' the use of ObjectDataSource and InsertParameters, without
' substantially rewriting the true implementation for the NorthwindEmployee
' or the EmployeeLogic objects.
'
' The parameters to the method must be named the same as the
' DataControlFields used by the GridView or DetailsView controls.
Public Shared Sub InsertNewEmployeeWrapper(FirstName As String, LastName As String, Title As String, Courtesy As String, Supervisor As Integer)
' Build the NorthwindEmployee object and
' call the true implementation.
Dim tempEmployee As New NorthwindEmployee()
tempEmployee.FirstName = FirstName
tempEmployee.LastName = LastName
tempEmployee.Title = Title
tempEmployee.Courtesy = Courtesy
tempEmployee.Supervisor = Supervisor
' Call the true implementation.
InsertNewEmployee(tempEmployee)
End Sub
Public Shared Sub InsertNewEmployee(ne As NorthwindEmployee)
Dim retval As Boolean = ne.Save()
If Not retval Then
Throw New NorthwindDataException("InsertNewEmployee failed.")
End If
End Sub
Hinweise
Die Namen und Typen der Parameter, die in der InsertParameters Auflistung enthalten sind, müssen den Namen und Typen der Parameter entsprechen, die in der von der InsertMethod Eigenschaftssignatur angegebenen Methode enthalten sind. Beim Arbeiten mit datengebundenen Steuerelementen, die Parameter angeben, z GridView . B. und DetailsView, führt das ObjectDataSource Steuerelement automatisch alle Parameter zusammen, die explizit in der Auflistung mit diesen Parametern angegeben werden, die vom datengebundenen Steuerelement bereitgestellt werden. Weitere Informationen finden Sie unter InsertMethod.