Esta documentación está archivada y no tiene mantenimiento.

ObjectDataSource.DataObjectTypeName (Propiedad)

Obtiene o establece el nombre de una clase que el control ObjectDataSource utiliza para un parámetro de una operación que actualiza, inserta o elimina datos, en lugar de pasar valores individuales desde el control enlazado a datos.

Espacio de nombres: System.Web.UI.WebControls
Ensamblado: System.Web (en system.web.dll)

public string DataObjectTypeName { get; set; }
/** @property */
public String get_DataObjectTypeName ()

/** @property */
public void set_DataObjectTypeName (String value)

public function get DataObjectTypeName () : String

public function set DataObjectTypeName (value : String)

No aplicable.

Valor de propiedad

Nombre de clase completo o parcial que identifica el tipo del objeto que ObjectDataSource puede usar como parámetro para una operación Insert, Update o Delete. El valor predeterminado es una cadena vacía ("").

En lugar de especificar varios parámetros y pasarlos a los métodos Update, Insert y Delete, puede crear un único objeto que agregue los valores de varios campos de datos. En lugar de varios parámetro se pasa este objeto único a los métodos.

NotaNota:

Si no está familiarizado con las características de acceso a datos en ASP.NET 2.0, debe leer alguno de estos temas antes de continuar:

El comportamiento predeterminado de un control ObjectDataSource enlazado a un control enlazado a datos consiste en que el último cree un objeto Parameter para cada parámetro del origen de datos. Si el objeto comercial tiene muchos campos, el método resultante también tiene muchos campos. La propiedad DataObjectTypeName le permite especificar un tipo que tiene una propiedad por cada campo de datos. Después, en lugar de pasar varios parámetros al método, el motor en tiempo de ejecución crea un objeto y establece todas sus propiedades. Este objeto único se agrega a la colección de parámetros para la llamada al método.

El tipo especificado por la propiedad DataObjectTypeName debe tener un constructor predeterminado sin parámetros, para que el control ObjectDataSource pueda crear una instancia del tipo. El tipo también debe tener propiedades que puedan configurarse para permitir al control ObjectDataSource rellenar el objeto con valores que se pasan desde el control enlazado a datos. Se espera que los nombres de propiedad del control ObjectDataSource coincidan exactamente con los nombres de parámetro de los valores que pase el control enlazado a datos.

Cuando se establece la propiedad DataObjectTypeName y el control ObjectDataSource se asocia a un control enlazado a datos, cada uno de los métodos especificados por las propiedades InsertMethod y DeleteMethod debe tener un parámetro del tipo especificado por la propiedad DataObjectTypeName. Si la propiedad ConflictDetection se establece en el valor OverwriteChanges, el método especificado por la propiedad UpdateMethod debe tener un parámetro del tipo especificado en la propiedad DataObjectTypeName. Si la propiedad ConflictDetection se establece en el valor CompareAllValues, el método especificado por la propiedad UpdateMethod debe tener dos parámetros del tipo especificado en la propiedad DataObjectTypeName. El primer parámetro contiene los valores originales, mientras que el segundo parámetro contiene los nuevos valores.

La propiedad DataObjectTypeName delega en la propiedad DataObjectTypeName del objeto ObjectDataSourceView que está asociado al control ObjectDataSource.

Esta sección contiene dos ejemplos de código. En el primer ejemplo de código se muestra cómo implementar un tipo que combina todos los valores de parámetro en un solo objeto, utilizando la propiedad DataObjectTypeName. En el segundo ejemplo de código se muestra la página Web que utiliza las dos clases utilizadas en el primer ejemplo de código.

En el ejemplo de código siguiente se muestra cómo implementar un tipo que combina todos los valores de parámetro en un solo objeto, utilizando la propiedad DataObjectTypeName. El método de selección de la clase AggregateData devuelve un objeto DataTable con dos columnas denominadas Name y Number. De forma similar, la clase NewData define dos propiedades de lectura y escritura, Name y Number. El método Insert de la clase AggregateData toma un único parámetro de tipo NewData. La propiedad TypeName de ObjectDataSource se establece en AggregateData y la propiedad DataObjectTypeName se establece en 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; }
		}

	}
}

En el ejemplo de código siguiente se muestra la página Web que utiliza las dos clases utilizadas en el ejemplo de código anterior.

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

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: