다음을 통해 공유


ObjectDataSource.InsertParameters 속성

정의

InsertMethod 속성에서 사용하는 매개 변수가 포함된 매개 변수 컬렉션을 가져옵니다.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ InsertParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection InsertParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.InsertParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property InsertParameters As ParameterCollection

속성 값

ParameterCollection 속성으로 식별되는 메서드에서 사용하는 매개 변수가 포함된 InsertMethod입니다.

특성

예제

이 섹션에는 두 코드 예제가 있습니다. 첫 번째 코드 예제에 사용 하는 방법을 보여 줍니다.는 ObjectDataSource 비즈니스 개체를 사용 하 여 개체 및 DetailsView 데이터 삽입을 제어 합니다. 두 번째 코드 예의 예제 구현을 제공 합니다 Insert 첫 번째 코드 예제에 사용 되는 메서드.

다음 코드 예제에 사용 하는 방법을 보여 줍니다.는 ObjectDataSource 비즈니스 개체를 사용 하 여 컨트롤 및 DetailsView 데이터 삽입을 제어 합니다. 처음에 DetailsView 새 데이터를 입력할 수 있는 텍스트 상자를 표시 NorthwindEmployee 와 함께 자동으로 생성 된 레코드 삽입 단추입니다. 데이터의 필드에 입력 한 후 합니다 DetailsView 컨트롤을 클릭 합니다 삽입 단추입니다. InsertMethod 속성 삽입 작업을 수행 하는 메서드를 식별 합니다.

클릭 하면를 삽입 단추를 작업으로 지정 된 메서드를 사용 하 여 수행 됩니다 합니다 InsertMethod 속성 및 지정 된 매개 변수는 InsertParameters 컬렉션. 이 코드 예제에서는 하나의 매개 변수는에 지정 된 된 InsertParameters 감독자의 ID에 해당 하는 컬렉션 ID에 표시 되는 경우에 이므로이 Rows 컬렉션에 대 한는 DetailsView 컨트롤을 BoundField 개체에 문자열로 전달 됩니다는 ObjectDataSource 컨트롤. 명시적으로 추가 하 여는 InsertParameters 사용 하 여 컬렉션을 Type 속성이로 설정는 Int32 값으로 전달 됩니다에서 올바르게를 ObjectDataSource 메서드에으로 Int32아니라 문자열.

경우는 Insert 작업을 수행할로 식별 되는 메서드는 InsertMethod 속성 이라고 합니다. 경우는 Insert 개체의 메서드가 매개 변수를 포함 하는 메서드 시그니처를 InsertParameters 컬렉션에 대 한 메서드 시그니처 매개 변수와 일치 하는 이름의 매개 변수가 포함 되어야 합니다는 Insert 성공적으로 완료 하는 방법입니다.

중요

클라이언트에서 받은 모든 매개 변수 값을 확인 해야 합니다. 런타임에 매개 변수 값을 InsertMethod 속성입니다.

<%@ 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>

다음 코드 예제에서는의 예제 구현을 제공 합니다 Insert 앞의 코드 예제를 사용 하는 메서드. InsertNewEmployeeWrapper 메서드가 추가 되는 EmployeeLogic 에서 제공 되는 중간 계층 개체를 ObjectDataSource 개체를 보다 쉽게 작업할 수 있도록 클래스 개요를 ObjectDataSource 실제 쓰지 않고도 웹 시나리오에서 비즈니스 논리입니다.

예제를 실행 하려면 해야 합니다 NorthwindEmployee 에서 제공 되는 클래스는 ObjectDataSource 클래스 개요입니다. 연결 하는 방법만 보여 주는이 예제는 ObjectDataSource 하는 비즈니스 개체 메서드 매개 변수를 사용 하 여 새 데이터베이스 레코드에 대 한 데이터를 가져옵니다. 예제 추가 하지 않습니다 레코드를 데이터베이스에 있으므로 합니다 Save 메서드는 NorthwindEmployee 클래스는 데이터베이스를 업데이트 하는 코드를 포함 하지 않습니다.

// 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

설명

이름 및 형식에 포함 된 매개 변수를 InsertParameters 컬렉션 이름 및에 매개 변수의 형식과 일치 해야 합니다는 InsertMethod 속성 서명 합니다. 매개 변수 이름은 대/소문자를 구분 합니다. 와 같은 매개 변수를 제공 하는 데이터 바인딩된 컨트롤을 사용 하는 경우는 GridViewDetailsView 컨트롤을 ObjectDataSource 제어 되는 매개 변수를 사용 하 여 컬렉션에 명시적으로 지정 된 매개 변수를 자동으로 병합 데이터 바인딩된 컨트롤에서 제공합니다. 데이터 바인딩된 컨트롤에는 항상 해당 매개 변수를 제공 하기 때문에이 중요 String 형식이 있고 메서드 시그니처에 숫자 또는 날짜 형식을 명시적으로 지정 해야 하는 경우의 매개 변수를 포함 합니다 InsertParameters 에 올바른 형식의 컬렉션입니다. 그렇지 않은 경우는 ObjectDataSource 컨트롤 컬렉션에서 매개 변수로 정의 된 형식에 따라 매개 변수를 캐스팅 하 려 합니다. 자세한 내용은 ObjectDataSource 컨트롤을 사용 하 여 매개 변수를 사용 하 여입니다.

InsertParameters 속성 검색을 InsertParameters 속성에 포함 된를 ObjectDataSourceView 연관 된를 ObjectDataSource 컨트롤입니다.

매개 변수가 병합, 개체 수명 및 방법 확인 하는 방법에 대 한 자세한 내용은 참조 하세요. InsertMethod합니다.

적용 대상

추가 정보