最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性

 更新時(shí)間:2016年04月27日 09:00:43   作者:Fskjb  
本文主要介紹ObjectDataSource控件和DataObjectTypeName屬性的用法,希望能給小伙伴們一些幫助。

一、ObjectDataSource 控件說明

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

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

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

二、DataObjectTypeName 屬性的使用

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

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

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

三、示例代碼

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

前臺(tái)代碼:

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

后臺(tái)代碼:

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

  }
}

相關(guān)文章

  • .Net創(chuàng)建型設(shè)計(jì)模式之抽象工廠模式(Abstract?Factory)

    .Net創(chuàng)建型設(shè)計(jì)模式之抽象工廠模式(Abstract?Factory)

    這篇文章介紹了.Net設(shè)計(jì)模式之抽象工廠模式(Abstract?Factory),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • asp.net Webconfig中的一些配置

    asp.net Webconfig中的一些配置

    除了手動(dòng)編輯此文件以外,您還可以使用Web 管理工具來配置應(yīng)用程序的設(shè)置??梢允褂?Visual Studio 中的“網(wǎng)站”->“Asp.Net 配置”選項(xiàng)。
    2010-07-07
  • .NET?6中System.Text.Json的七個(gè)特性

    .NET?6中System.Text.Json的七個(gè)特性

    這篇文章介紹了.NET?6中System.Text.Json的七個(gè)特性,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • ASP.NET 中ImageMap控件的用法

    ASP.NET 中ImageMap控件的用法

    本文主要介紹ImageMap控件的使用方法,并做了簡單的代碼演示,希望能幫到大家。
    2016-04-04
  • C#委托方法Func()中GetInvocationList()方法的用法介紹

    C#委托方法Func()中GetInvocationList()方法的用法介紹

    這篇文章介紹了C#委托方法Func()中GetInvocationList()方法的用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • .Net行為型設(shè)計(jì)模式之解釋器模式(Interpreter)

    .Net行為型設(shè)計(jì)模式之解釋器模式(Interpreter)

    這篇文章介紹了.Net行為型設(shè)計(jì)模式之解釋器模式(Interpreter),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • ASP.NET?MVC框架簡介

    ASP.NET?MVC框架簡介

    這篇文章介紹了ASP.NET?MVC框架,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • ASP.Net前臺(tái)調(diào)用后臺(tái)變量的方法

    ASP.Net前臺(tái)調(diào)用后臺(tái)變量的方法

    asp.net下前臺(tái)數(shù)據(jù)的調(diào)用輸出方法,需要的朋友可以參考下。
    2010-07-07
  • .NET1.0版本中的異步編程模型(APM)

    .NET1.0版本中的異步編程模型(APM)

    這篇文章介紹了.NET1.0版本中的異步編程模型(APM),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • ASP.NET?Core中Startup類、Configure()方法及中間件詳解

    ASP.NET?Core中Startup類、Configure()方法及中間件詳解

    本文詳細(xì)講解了ASP.NET?Core中Startup類、Configure()方法及中間件,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01

最新評(píng)論

山阴县| 佛山市| 宜川县| 巨野县| 洛宁县| 泊头市| 嘉黎县| 黄浦区| 凌云县| 临城县| 华容县| 阜新| 全州县| 通道| 惠东县| 蒲城县| 怀远县| 开江县| 察哈| 罗平县| 临邑县| 库车县| 耿马| 漳浦县| 平安县| 开远市| 剑川县| 西青区| 湖口县| 象山县| 贺州市| 分宜县| 遂溪县| 延津县| 图们市| 海晏县| 光山县| 青浦区| 攀枝花市| 崇义县| 兴和县|