ObjectDataSource.DataObjectTypeName 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
데이터 바인딩된 컨트롤의 개별 값을 전달하는 대신 ObjectDataSource 컨트롤에서 데이터 업데이트, 삽입 또는 삭제 작업의 매개 변수로 사용할 클래스의 이름을 가져오거나 설정합니다.
public:
property System::String ^ DataObjectTypeName { System::String ^ get(); void set(System::String ^ value); };
public string DataObjectTypeName { get; set; }
member this.DataObjectTypeName : string with get, set
Public Property DataObjectTypeName As String
속성 값
ObjectDataSource에서 Insert(), Update() 또는 Delete() 작업의 매개 변수로 사용할 수 있는 개체의 형식을 식별하는 정규화된 또는 부분적으로 정규화된 클래스 이름입니다. 기본값은 빈 문자열("")입니다.
예제
섹션에는 두 코드 예제가 있습니다. 첫 번째 코드 예제에는 모든 매개 변수 값을 하나 이상의 개체를 결합 하는 형식을 구현 하는 방법을 보여 줍니다.를 사용 하는 DataObjectTypeName 속성입니다. 두 번째 코드 예제에서는 첫 번째 코드 예제에 사용 되는 두 개의 클래스를 사용 하는 웹 페이지를 보여 줍니다.
다음 코드 예제에는 모든 매개 변수 값을 하나 이상의 개체를 결합 하는 형식을 구현 하는 방법을 보여 줍니다.를 사용 하 여 DataObjectTypeName 속성입니다. select 메서드를 AggregateData
반환 클래스를 DataTable 이라는 두 개의 열을 사용 하 여 개체 Name
및 Number
합니다. 마찬가지로, 합니다 NewData
클래스에는 두 개의 읽기/쓰기 속성을 정의 Name
고 Number
입니다. 합니다 Insert
메서드를 AggregateData
형식의 매개 변수 하나를 사용 하는 클래스가 NewData
합니다.
TypeName
의 속성을 ObjectDataSource 로 설정 된 AggregateData
및 DataObjectTypeName 속성 NewData
.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Samples.AspNet.CS
{
/// <summary>
/// Summary description for AggregateData
/// </summary>
public class AggregateData
{
public AggregateData()
{
}
static DataTable table;
private DataTable CreateData()
{
table = new DataTable();
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Number", typeof(int));
table.Rows.Add(new object[] { "one", 1 });
table.Rows.Add(new object[] { "two", 2 });
table.Rows.Add(new object[] { "three", 3 });
return table;
}
public DataTable Select()
{
if (table == null)
{
return CreateData();
}
else
{
return table;
}
}
public int Insert(NewData newRecord)
{
table.Rows.Add(new object[] { newRecord.Name, newRecord.Number });
return 1;
}
}
public class NewData
{
private string nameValue;
private int numberValue;
public string Name
{
get { return nameValue; }
set { nameValue = value; }
}
public int Number
{
get { return numberValue; }
set { numberValue = value; }
}
}
}
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Namespace Samples.AspNet.VB
Public Class AggregateData
Public Sub New()
End Sub
Shared table As DataTable
Private Function CreateData() As DataTable
table = New DataTable()
table.Columns.Add("Name", GetType(String))
table.Columns.Add("Number", GetType(Integer))
table.Rows.Add(New Object() {"one", 1})
table.Rows.Add(New Object() {"two", 2})
table.Rows.Add(New Object() {"three", 3})
Return table
End Function
Public Function SelectMethod() As DataTable
If table Is Nothing Then
Return CreateData()
Else
Return table
End If
End Function
Public Function Insert(ByVal newRecord As NewData) As Integer
table.Rows.Add(New Object() {newRecord.Name, newRecord.Number})
Return 1
End Function
End Class
Public Class NewData
Private nameValue As String
Private numberValue As Integer
Public Property Name() As String
Get
Return nameValue
End Get
Set(ByVal value As String)
nameValue = value
End Set
End Property
Public Property Number() As Integer
Get
Return numberValue
End Get
Set(ByVal value As Integer)
numberValue = value
End Set
End Property
End Class
End Namespace
다음 코드 예제에서는 앞의 코드 예제에 사용 되는 두 개의 클래스를 사용 하는 웹 페이지를 보여 줍니다.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="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">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ObjectDataSource - DataObjectTypeName Property Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DetailsView
ID="DetailsView1"
runat="server"
AllowPaging="True"
AutoGenerateInsertButton="True"
DataSourceID="ObjectDataSource1"
Height="50px"
Width="125px">
</asp:DetailsView>
<asp:ObjectDataSource
ID="ObjectDataSource1"
runat="server"
DataObjectTypeName="Samples.AspNet.CS.NewData"
InsertMethod="Insert"
SelectMethod="Select"
TypeName="Samples.AspNet.CS.AggregateData">
</asp:ObjectDataSource>
</div>
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="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">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ObjectDataSource - DataObjectTypeName Property Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DetailsView
ID="DetailsView1"
runat="server"
AllowPaging="True"
AutoGenerateInsertButton="True"
DataSourceID="ObjectDataSource1"
Height="50px"
Width="125px">
</asp:DetailsView>
<asp:ObjectDataSource
ID="ObjectDataSource1"
runat="server"
DataObjectTypeName="Samples.AspNet.VB.NewData"
InsertMethod="Insert"
SelectMethod="SelectMethod"
TypeName="Samples.AspNet.VB.AggregateData">
</asp:ObjectDataSource>
</div>
</form>
</body>
</html>
설명
에 전달 되는 여러 매개 변수를 지정 하는 대신 합니다 Update, Insert, 및 Delete 메서드를 여러 데이터 필드 값을 집계 하는 하나의 개체를 만들 수 있습니다. 이 개체는 한 방법에 몇 가지 매개 변수 대신 전달 됩니다.
기본 동작을 ObjectDataSource 데이터 바인딩된 컨트롤에 바인딩되는 컨트롤은 데이터 바인딩된 컨트롤을 만듭니다는 Parameter 데이터 소스의 각 매개 변수에 대 한 개체입니다. 비즈니스 개체에 많은 필드가 있으면 결과 메서드에 많은 필드가 수도 있습니다. DataObjectTypeName 속성을 사용 하면 각 데이터 필드에 대 한 속성을 갖는 형식에 지정할 수 있습니다. 그런 다음 여러 매개 변수를 메서드에 전달 하는 대신 런타임에 하나의 개체를 만들고 모든 속성을 설정 합니다. 이 개체는 메서드 호출에 대 한 매개 변수 컬렉션에 추가 됩니다.
속성에 의해 DataObjectTypeName 지정된 형식에는 매개 변수가 없는 생성자가 있어야 합니다. 따라서 컨트롤은 ObjectDataSource 형식의 인스턴스를 만들 수 있습니다. 형식에는 사용할 수 있는 속성을 설정할 수 있어야 합니다.는 ObjectDataSource 데이터 바인딩된 컨트롤에서 전달 되는 값을 사용 하 여 개체를 채울 컨트롤입니다. 속성 이름이 ObjectDataSource 컨트롤 데이터 바인딩된 컨트롤에 의해 전달 되는 값의 매개 변수 이름과 정확히 일치 해야 합니다.
경우는 DataObjectTypeName 속성을 설정 및 ObjectDataSource 컨트롤은 데이터 바인딩된 컨트롤에서 지정 된 메서드를 사용 하 여 연결 합니다 InsertMethod 및 DeleteMethod 속성 각각 한 개의 매개 변수만 는에지정된형식의DataObjectTypeName 속성입니다. 경우는 ConflictDetection 속성을 OverwriteChanges 값을 지정 된 메서드는 UpdateMethod 속성에 지정 된 형식의 매개 변수 하나 있어야 합니다.는 DataObjectTypeName 속성. 경우는 ConflictDetection 속성을 CompareAllValues 값을 지정 된 메서드는 UpdateMethod 속성에 지정 된 형식의 두 매개 변수가 있어야 합니다.는 DataObjectTypeName 속성. 원래 값을 포함 하는 첫 번째 매개 변수 두 번째 매개 변수 새 값을 포함 합니다.
DataObjectTypeName 에 위임 하는 속성을 DataObjectTypeName 의 속성을 ObjectDataSourceView 연관 된는 ObjectDataSource 컨트롤.
적용 대상
추가 정보
.NET