如何在ASP.NET自定义控件中持久保存List属性?
发布时间:2020-12-15 20:55:25 所属栏目:asp.Net 来源:网络整理
导读:我在自定义控件中有以下属性: ListmyClass _items;public ListmyClass Items{ get { return _items; } set { _items= value; }} 在我的代码隐藏中,我将项目添加到集合中,如… myCustomControl.items.Add(new myClass()); 但是,这些不会在回发中持续存在.在
我在自定义控件中有以下属性:
List<myClass> _items; public List<myClass> Items{ get { return _items; } set { _items= value; } } 在我的代码隐藏中,我将项目添加到集合中,如… myCustomControl.items.Add(new myClass()); 但是,这些不会在回发中持续存在.在自定义控件中允许持久性的正确方法是什么? 解决方法
哎呀!不要把列表<>进入ViewState!这将是巨大的!
如果您添加List< string>它包含两个元素 – “abc”和“xyz”进入ViewState,它将增长312个字节. 如果你添加一个包含相同两个元素的字符串[],它只会增长24个字节. 这就是字符串列表!你可以把你的课程放在那里,正如Corey Downie所建议的那样,但是你的ViewState会变成蘑菇! 为了保持合理的大小,你必须付出一些努力将你的项目列表转换为字符串数组并再次返回. 作为替代方案,请考虑将对象放入Session中:这样您的对象将存储在服务器上,而不是被序列化到ViewState中并发送到浏览器并返回. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – IIS由什么组成,它是如何工作的?
- ASP.net图表控件:隐藏除数据点之外的所有行(轴等)
- asp.net-mvc – 为Cascade子列表构建一个空的MVC DropdownL
- ASP.NET MVC全局授权过滤器强制登录AllowAnonymous操作
- asp.net-mvc – 如何为ASP.NET MVC站点定义catch-all路由?
- asp.net – 如何使用多个嵌套项反序列化XML?
- ASP.Net 3.5 / 4.0 CodeBehind还是CodeFile?
- 将ASP.Net MVC的单页添加到现有的Web窗体应用程序中?
- asp.net-mvc – ASP.NET MVC:用户控制的好替换?
- asp.net-mvc-3 – 新加载页面而不是缓存
推荐文章
站长推荐
热点阅读