ObjectDataSource.DataObjectTypeName プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ObjectDataSource.DataObjectTypeName プロパティの意味・解説 

ObjectDataSource.DataObjectTypeName プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

ObjectDataSource コントロールが、データ バインド コントロールから個々の値を渡す代わりに、データの更新、挿入、削除の各操作のパラメータに使用するクラスの名前を取得または設定します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Property DataObjectTypeName As
 String
Dim instance As ObjectDataSource
Dim value As String

value = instance.DataObjectTypeName

instance.DataObjectTypeName = value
public string DataObjectTypeName { get;
 set; }
public:
property String^ DataObjectTypeName {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_DataObjectTypeName ()

/** @property */
public void set_DataObjectTypeName (String
 value)
public function get DataObjectTypeName
 () : String

public function set DataObjectTypeName
 (value : String)

プロパティ値
ObjectDataSource が Insert、Update、Delete の各操作のパラメータとして使用できるオブジェクトの型を識別する、部分修飾クラス名または完全修飾クラス名。既定値は空の文字列 ("") です。

解説解説

Update、Insert、Delete の各メソッドに渡される複数のパラメータを指定する代わりに、複数のデータ フィールド値を集約した 1 つのオブジェクトを作成できます。複数のパラメータの代わりに、このオブジェクトがメソッドに渡されます。

データ バインド コントロールにバインドされた ObjectDataSource コントロールの既定の動作では、データ バインド コントロールはデータ ソースのパラメータごとに Parameter オブジェクトを作成します。ビジネス オブジェクトに多数のフィールドがある場合、結果として得られるメソッドにも多数のフィールドが含まれます。DataObjectTypeName プロパティを使用すると、各データ フィールドのプロパティを持つ型を指定できます。次に、ランタイムは複数のパラメータをメソッドに渡す代わりに、オブジェクトを 1 つ作成し、そのすべてのプロパティを設定します。このオブジェクトは、メソッド呼び出しに使用するパラメータ コレクションに追加されます。

DataObjectTypeName プロパティで指定された型は、パラメータを持たない既定のコンストラクタを持つ必要があるため、ObjectDataSource コントロールは型のインスタンスを作成できます。また、ObjectDataSource コントロールがデータ バインド コントロールから渡された値でオブジェクトを設定できるように、この型には設定可能なプロパティも必要となります。ObjectDataSource コントロールのプロパティ名は、データ バインド コントロールから渡される値のパラメータ名と完全に一致する必要があります。

DataObjectTypeName プロパティが設定され、ObjectDataSource コントロールがデータ バインド コントロールに関連付けられている場合、InsertMethod プロパティと DeleteMethod プロパティで指定されたメソッドは、それぞれ DataObjectTypeName プロパティで指定された型のパラメータを 1 つ持つ必要があります。ConflictDetection プロパティを OverwriteChanges 値に設定した場合、UpdateMethod プロパティで指定されたメソッドは、DataObjectTypeName プロパティで指定された型のパラメータを 1 つ持つ必要があります。ConflictDetection プロパティを CompareAllValues 値に設定した場合には、UpdateMethod プロパティで指定されたメソッドは、DataObjectTypeName プロパティで指定された型のパラメータを 2 つ持つ必要があります。1 つ目のパラメータには元の値が格納され、2 つ目のパラメータには新しい値が格納されます。

DataObjectTypeName プロパティは、ObjectDataSource コントロールに関連付けられた ObjectDataSourceView の DataObjectTypeName プロパティに処理を代行させます。

使用例使用例

このセクションには、2 つのコード例が含まれています。1 つ目のコード例では、DataObjectTypeName プロパティを使用して、すべてのパラメータ値を 1 つのオブジェクトに結合する型を実装する方法を示します。2 つ目のコード例では、1 つ目のコード例で使用されている 2 つのクラスを使用する Web ページを示します。

DataObjectTypeName プロパティを使用して、すべてのパラメータ値を 1 つのオブジェクトに結合する型を実装する方法を次のコード例に示します。AggregateData クラスの選択メソッドは、Name および Number という名前の 2 つの列を持つ DataTable オブジェクトを返します。同様に、NewData クラスは、Name および Number という 2 つの読み取り/書き込みプロパティを定義します。AggregateData クラスの Insert メソッドは、NewData 型のパラメータを 1 つ受け取ります。ObjectDataSource の TypeName プロパティが AggregateData に設定され、DataObjectTypeName プロパティが NewData に設定されます。

Imports System
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
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; }
        }

    }
}

前のコード例で使用されている 2 つのクラスを使用する Web ページを次のコード例に示します。

<%@ 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  >
<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>
<%@ 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  >
<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>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ObjectDataSource クラス
ObjectDataSource メンバ
System.Web.UI.WebControls 名前空間
その他の技術情報
ObjectDataSource コントロールの概要
ObjectDataSource コントロールにおけるパラメータの使用



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ObjectDataSource.DataObjectTypeName プロパティ」の関連用語

ObjectDataSource.DataObjectTypeName プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ObjectDataSource.DataObjectTypeName プロパティのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS