该方法为网上整理

1. 新继承一个列表控件

新控件中重写两个方法:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI.WebControls;
  6.  
  7. namespace GetDateDome
  8. {
  9. public class ListBoxEx:ListBox
  10. {
  11. protected override object SaveViewState()
  12. {
  13. // create object array for Item count + 1
  14. object[] allStates = new object[this.Items.Count + ];
  15.  
  16. // the +1 is to hold the base info
  17. object baseState = base.SaveViewState();
  18. allStates[] = baseState;
  19.  
  20. Int32 i = ;
  21. // now loop through and save each Style attribute for the List
  22. foreach (ListItem li in this.Items)
  23. {
  24. Int32 j = ;
  25. string[][] attributes = new string[li.Attributes.Count][];
  26. foreach (string attribute in li.Attributes.Keys)
  27. {
  28. attributes[j++] = new string[] { attribute, li.Attributes[attribute] };
  29. }
  30. allStates[i++] = attributes;
  31. }
  32. return allStates;
  33. }
  34.  
  35. protected override void LoadViewState(object savedState)
  36. {
  37. if (savedState != null)
  38. {
  39. object[] myState = (object[])savedState;
  40.  
  41. // restore base first
  42. if (myState[] != null)
  43. base.LoadViewState(myState[]);
  44.  
  45. Int32 i = ;
  46. foreach (ListItem li in this.Items)
  47. {
  48. // loop through and restore each style attribute
  49. foreach (string[] attribute in (string[][])myState[i++])
  50. {
  51. li.Attributes[attribute[]] = attribute[];
  52. }
  53. }
  54. }
  55. }
  56.  
  57. }
  58. }

2  页面注册控件

  1. <%@ Register assembly="GetDateDome" namespace="GetDateDome" tagprefix="my" %>

3 使用新控件

  1. <my:ListBoxEx ID="lstUnselectCol" runat="server" Style="width: 100%;height:100%;" ></my:ListBoxEx>
  1. //设置属性
  2. ListItem p = new ListItem(i["Item"].ToString(), i["value"].ToString());
  3. p.Attributes.Add("type", i["type"].ToString());
  4. lstUnselectCol.Items.Add(p);
  5.  
  6. //获取属性
  7. string msg = srcList.SelectedItem.Attributes["type"];

4 最后记着设置 EnableViewState="true"

ASP.net ListItem Attributes 属性回传丢失的解决方案的更多相关文章

  1. ASP.NET状态服务及session丢失问题解决方案总结

    原文:ASP.NET状态服务及session丢失问题解决方案总结[转载] asp.net Session的实现: asp.net的Session是基于HttpModule技术做的,HttpModule ...

  2. ASP.NET 状态服务 及 session丢失问题解决方案总结

    ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.采用了如下方法:1.asp.net Session的实现:asp.net的Session是基于HttpModul ...

  3. [转]ASP.NET 状态服务 及 session丢失问题解决方案总结

    转自[http://blog.csdn.net/high_mount/archive/2007/05/09/1601854.aspx] 最近在开发一ASP.NET2.0系统时,在程序中做删除或创建文件 ...

  4. 【翻译】ASP.NET MVC 5属性路由(转)

    转载链接:http://www.cnblogs.com/thestartdream/p/4246533.html 原文链接:http://blogs.msdn.com/b/webdev/archive ...

  5. Asp.net页面跳转Session丢失问题

    原本去年在做项目时,写好的一记篇博客分享给大家. Asp.net页面跳转Session丢失问题   编写人:CC阿爸 2014-4-2 l  近来在做泛微OA与公司自行开发的系统集成登录的问题.在使用 ...

  6. ASP.NET控件属性大全

    ASP.NET控件属性大全 DataGridView 控件DataGridView 控件提供用来显示数据的可自定义表.使用 DataGridView 类,可以自定义单元格.行.列和边框. 注意Data ...

  7. IIS安全工具UrlScan介绍 ASP.NET 两种超强SQL 注入免费解决方案( 基于IIS,使用免费工具) 批改或隐藏IIS7.5的Server头信息 移除X-Powered-By,MVC,ASP.NET_SessionId 的 HTTP头或者cookie名称

    微软给了我们一个很好的工具用来使IIS安全的运行-------UrlScan,下面是它的配置文件介绍 [options]UseAllowVerbs=1                ; 若为1,则使用 ...

  8. asp.net web api2.0 ajax跨域解决方案

    asp.net web api2.0 ajax跨域解决方案 Web Api的优缺点就不说了,直接说怎么跨域,我搜了一下,主要是有两种.  一,ASP.NET Web API支持JSONP,分两种 1, ...

  9. 计算价格, java中浮点数精度丢失的解决方案

    计算价格, java中浮点数精度丢失的解决方案

随机推荐

  1. ZigBee心电传输(一)

    第一次接触模拟的东西哈,也算是一次新的学习旅程以及对ZigBee的再一次探索吧. 首先是方案制定,以及采用芯片AD8232,这样节省了不少时间,把模拟的东西都搬到数字上了,不过还是需要学习不少模电知识 ...

  2. 高可用集群(HA)配置

    高可用集群(HA) 1. 准备工作 HA的心跳监测可以通过串口连接监测也可以通过网线监测,前者需要服务器有一个串口,后者需要有一个空闲网卡.HA架构中需要有一个共享的存储设备首先需要在两台机器上安装m ...

  3. IE6,IE7下滚动条没有生效解决方法

    需要加个相对定位 position:relative;

  4. SuperSocket学习笔记(二)

    上一篇博客SuperSocket学习笔记(一)说明了怎么快速搭建一个服务器端,这篇文章我想深挖一下SuperSocket 1. 每一个客户端连接到服务器端时,服务器端会将客户端的信息保存到一个Sess ...

  5. js图片放大镜特效代码

    <script language="JavaScript"> <!-- var srcX = 1024; //原图长宽 var srcY = 768; var b ...

  6. C# XML,XmlDocument简单操作实例

    private static string _Store = LocalPathHelper.CurrentSolutionPath + "/data/bookstore.xml" ...

  7. 【Solr初探】Solr安装,启动,查询,索引

    1. 安装&启动 官网:http://lucene.apache.org/solr/ 下载源代码,解压,进入根目录(我把solr放在/usr/local/solr下) 在/usr/local/ ...

  8. Struts2的模型驱动

    Struts2即支持属性驱动,也支持模型驱动 属性驱动:在Action中提供与表单字段一一对应的属性,然后一一set赋值 模型驱动:使得表单字段都自动被set到一个JavaBean中,类似于Strut ...

  9. hdu 3460

    算法:字典树 题意:给你一些单词,有一台打印机只能进行以下三种操作 1.读入 2.删除 3.打印 让你输出最少的操作次数将这些单词全部打印出来: (字典树节点-1)*2  表示读入和删除操作: 打印操 ...

  10. mysql函数date_format统计刷选按年月日统计的数据

    /*原型*/ SELECT count(did) AS sum, date_format(releasetime, '%Y-%m-%d') AS releasetime FROM hengtu_dem ...