濮阳杆衣贸易有限公司

主頁 > 知識庫 > ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性

ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性

熱門標簽:遂寧市地圖標注app 地圖定位圖標標注 代理接電話機器人如何取消 地圖標注的公司有哪些 天心智能電銷機器人 塔城代理外呼系統(tǒng) 濮陽外呼電銷系統(tǒng)怎么樣 地圖標注專業(yè)團隊 400電話辦理哪家性價比高

一、ObjectDataSource 控件說明

獲取或設(shè)置某個類的名稱,ObjectDataSource 控件將該類用于更新、插入或刪除數(shù)據(jù)操作中的參數(shù),而不是從數(shù)據(jù)綁定控件傳遞個別的值。

您不用指定傳遞給 Update、Insert 和 Delete 方法的多個參數(shù),而是可以創(chuàng)建一個累計多個數(shù)據(jù)字段值的對象。僅給方法傳遞這一個對象,而不是多個參數(shù)。

綁定到數(shù)據(jù)綁定控件的 ObjectDataSource 控件的默認行為是,數(shù)據(jù)綁定控件為數(shù)據(jù)源中的每個參數(shù)創(chuàng)建一個 Parameter 對象。如果業(yè)務(wù)對象有很多字段,則結(jié)果方法也有很多字段。DataObjectTypeName 屬性允許您為每個數(shù)據(jù)字段都指定一個具有屬性的類型。這樣,運行時不是給方法傳遞多個參數(shù),而是創(chuàng)建一個對象并設(shè)置它的所有屬性。這一個對象添加到方法調(diào)用的參數(shù)集合中。

二、DataObjectTypeName 屬性的使用

DataObjectTypeName 屬性指定的類型必須有一個不帶參數(shù)的默認構(gòu)造函數(shù),以便 ObjectDataSource 控件可以創(chuàng)建此類型的實例。此類型還必須具有可設(shè)置的屬性,允許 ObjectDataSource 控件用數(shù)據(jù)綁定控件傳遞的值填充對象。ObjectDataSource 控件的屬性名應該與數(shù)據(jù)綁定控件傳遞的值的參數(shù)名完全匹配。

當設(shè)置了 DataObjectTypeName 屬性并且 ObjectDataSource 控件與數(shù)據(jù)綁定控件關(guān)聯(lián)時,由 InsertMethod 和 DeleteMethod 屬性指定的方法必須各有一個在 DataObjectTypeName 屬性中指定的類型的參數(shù)。如果 ConflictDetection 屬性設(shè)置為 OverwriteChanges 值,則由 UpdateMethod 屬性指定的方法必須有一個在 DataObjectTypeName 屬性中指定的類型的參數(shù)。如果 ConflictDetection 屬性設(shè)置為 CompareAllValues 值,則由 UpdateMethod 屬性指定的方法必須有兩個在 DataObjectTypeName 屬性中指定的類型的參數(shù)。第一個參數(shù)包含原始值;第二個參數(shù)包含新值。

DataObjectTypeName 屬性委托給與 ObjectDataSource 控件關(guān)聯(lián)的 ObjectDataSourceView 的 DataObjectTypeName 屬性。

三、示例代碼

下面的代碼示例演示如何使用 DataObjectTypeName 屬性,實現(xiàn)一個將所有參數(shù)值合并為一個對象的類型。AggregateData 類的選擇方法返回一個有兩個名為 Name 和 Number 的列的 DataTable 對象。同樣,NewData 類定義兩個讀/寫屬性 Name 和 Number。AggregateData 類的 Insert 方法帶 NewData 類型的一個參數(shù)。ObjectDataSource 的 TypeName 屬性設(shè)置為 AggregateData,DataObjectTypeName 屬性設(shè)置為 NewData。

前臺代碼:

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

后臺代碼:

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

  }
}

您可能感興趣的文章:
  • ASP.NET 廣告控件AdRotator的使用方法與實例
  • ASP.NET筆記之廣告控件的使用方法
  • ASP.NET 網(wǎng)站開發(fā)中常用到的廣告效果代碼
  • Asp.net中使用文本框的值動態(tài)生成控件的方法
  • 獲取asp.net服務(wù)器控件的客戶端ID和Name的實現(xiàn)方法
  • asp.net控件DataList分頁用法
  • ASP.NET項目開發(fā)中日期控件DatePicker如何使用
  • ASP.NET的廣告控件AdRotator用法分析

標簽:重慶 婁底 河南 本溪 宜春 汕頭 麗江 吉林

巨人網(wǎng)絡(luò)通訊聲明:本文標題《ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性》,本文關(guān)鍵詞  ASP.NET,中,ObjectDataSource,控件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    吉木乃县| 女性| 千阳县| 青州市| 鹤峰县| 沁阳市| 东乡县| 桦南县| 乌拉特前旗| 胶州市| 汪清县| 镇沅| 光泽县| 浙江省| 安陆市| 泗洪县| 潮州市| 鲜城| 贵南县| 微山县| 丹江口市| 五家渠市| 峡江县| 阳谷县| 温州市| 冷水江市| 景德镇市| 曲靖市| 新安县| 集安市| 桃园市| 卓尼县| 响水县| 镇赉县| 大荔县| 新兴县| 马公市| 江陵县| 丰都县| 平武县| 大理市|