dictionaryentry详解

图标

豆瓜

豆瓜网

豆瓜网专栏

首发
豆瓜 图标 2020-06-26 09:40:56

DictionaryEntry类是一个字典集合,主要包括的内容是键/值对。这样的组合方式能够方便地定位数据,当中的“键”具备唯一性,类似于数据库中的“id”,一个id相应一天记录,而一个键仅仅相应一个值。

使用DictionaryEnry类能够方便地设置和检索数据。尽管被称为字典集合,但DictionaryEntry并不包括一组数据,而仅仅是一个“键/值”对,一般通过“IDictionaryEnumerator”、“IOrderedDictionary”或Hashtable来获取DictionaryEntry实例,这一点须要注意。

语法定义:

DictionaryEntry类的语法定义例如以下所看到的,注意其属于“struct”结构类型。

[SerializableAttribute]

[ComVisibleAttribute(true)]

public struct DictionaryEntry

 

DicctionaryEntry类的构造语法例如以下所看到的,当中key表示键,value表示值。

public DictionaryEntry (object key,object value)

使用DictionaryEntry类一般不用newkeyword实例化,而是使用“foreach”遍历的方法,从某一集合获取DictionaryEntry的实例,用法例如以下:

foreach(DictionaryEntry dic in e.Keys)

 

DictionaryEntry的属性

Key :字典的键,必须唯一

Value:字典的值。可通过检索“键”获取或设置

以下演示怎样在程序中使用DictionaryEntry类的这两个属性:

Response.Write("这是当前数据表格的键列表:<br/>");
int i =0;
foreach(DictionaryEntry dic in e.Keys)
{
    //遍历并显示数据表格全部的键
  i++;
   Response.Write("第"+ i.ToString() + "个键为:" +dic.Key.ToString() +",值为:" + dic.Value.ToString());
}


 用DictionaryEntry获取GridView中的数据更新

DictionaryEntry类通常不须要为自己设置数据,而是用来获取某一个集合中的数据。本例使用DictionaryEntry类实例化“IOderedDictionary”中的数据,当中“IOrderedDictionary”包括的是GridView的键和值。

在使用GridView更新数据时,须要注意例如以下三点。

1、被更新的记录的主键:主键用来确定更新的数据的唯一性。

2、更新记录的新数据:用在更新数据库语句中。

3、更新记录的旧数据:用来推断更新的一些条件,比方说数据等于1时不被更新。

通过上述三点,能够知道GridView更新数据的一些原理。在GridView更新事件中,提供三个參数来表示上面的三种数据,分别为“Keys”、“NewValues”、“OldValues”。这些数据都以“IOrderedDictionary”的形式存储。

本例要实现的功能是当前用户更新数据后,显示当前用户更新的数据,同一时候显示数据表格的主键,主要完毕的是一个提示功能。

在GridView的“Row_Updated”事件中,获取数据更新的键值,代码例如以下:

protected void GridView1_RowUpdated(object sender,GridViewUpdatedEventArgs e)
{
   foreach(DictionaryEntry mydictionary in e.OldValues)
   {
      //显示改动前的数据
    Response.Write("改动前的数据——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
    }

   foreach(DictionaryEntry mydictionary in e.NewValues)
   {
      //显示改动后的数据
    Response.Write("改动后的数据——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
    }

   foreach(DictionaryEntry mydictionary in e.Keys)
   {
      //显示当前表格的主键——可能有多个,假设没有则无法更新
    Response.Write("<br/>当前主键——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
    }

    
}


本文由豆瓜网专栏作家 豆瓜 投稿发布,并经过豆瓜网编辑审核。

转载此文章须经作者同意,并附上出处(豆瓜网)及本页链接。

若稿件文字、图片、视频等内容侵犯了您的权益,请联系本站进行 投诉处理

相关搜索

dictionaryentry
图标 图标

豆瓜

豆瓜网

豆瓜网专栏

  • dictionaryentry详解

    图标
    豆瓜 图标 · 今天 09:40:56 · 0浏览
  • enableviewstate使用心得

    图标
    豆瓜 图标 · 今天 09:39:46 · 3浏览
  • java递归函数

    图标
    豆瓜 图标 · 今天 09:38:09 · 10浏览
  • 全部评论

    豆瓜

    豆瓜网

    豆瓜网专栏

  • dictionaryentry详解
  • enableviewstate使用心得
  • java递归函数
  • 不能信任一个安装所需的压缩文件
  • kindeditor上传图片编辑器
  • 我来说两句