zoukankan
html css js c++ java
实现 IStateManager 接口的服务器控件在设定属性时的注意点
设定属性后,要添加一句
ViewState.SetItemDirty() 的调用,这样在后续的阶段,StateBag.SaveViewState() 方法被调用时,才会保存该属性的值。
例子如下:
public
virtual
ImageAlign RightImageAlign
{
get
{
object
o
=
ViewState[
"
ItemRightImageAlign
"
];
if
(o
==
null
)
return
ImageAlign.NotSet;
else
return
(ImageAlign) o;
}
set
{
ViewState[
"
ItemRightImageAlign
"
]
=
value;
ViewState.SetItemDirty(
"
ItemRightImageAlign
"
,
true
);
}
}
通过 Reflector 看到 System.Web.UI.StateBag 类的
SaveViewState() 方法的代码如下,可以验证这一点:
internal
object
SaveViewState()
{
ArrayList list1
=
null
;
ArrayList list2
=
null
;
if
(
this
.bag.Count
!=
0
)
{
IDictionaryEnumerator enumerator1
=
this
.bag.GetEnumerator();
while
(enumerator1.MoveNext())
{
StateItem item1
=
(StateItem) enumerator1.Value;
if
(item1.IsDirty)
{
if
(list1
==
null
)
{
list1
=
new
ArrayList(
5
);
list2
=
new
ArrayList(
5
);
}
list1.Add(enumerator1.Key);
list2.Add(item1.Value);
}
}
if
(list1
!=
null
)
{
return
new
Pair(list1, list2);
}
}
return
null
;
}
查看全文
相关阅读:
【爬虫】微信读书笔记如何导出到本地?
工作面试题——值得一看
算法实验三——图的遍历算法
数据结构之排序算法
汇编语言学习总结
洛谷—— P2658 汽车拉力比赛
洛谷—— P1419 寻找段落
CODEVS——T 1700 施工方案第二季
洛谷—— P3811 【模板】乘法逆元
JAVA中传递的值还是引用的问题
原文地址:https://www.cnblogs.com/RChen/p/204525.html
最新文章
Frameworks.Entity.Core 7
Frameworks.Entity.Core 6 Specification
JAVA中使用RSA通过秘钥文件对字符串进行加密解密
Response响应工具类
java身份证计算年龄
Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
Redis数据更新
java面试二
java面试题一
单例解决存储微信Token信息保留两小时
热门文章
关于update 表名 set 字段1 = 值1 and 字段2 = 值2的执行结果说明
将list中的元素按照属性分类成树状的map
R语言与医学统计图形-【9】过渡函数qplot
R语言与医学统计图形【8】颜色的选取
R语言与医学统计图形【7】低级绘图函数
R语言与医学统计图形【5】饼图、条件图
R语言与医学统计图形【4】直方图、金字塔图
R语言与医学统计图形【3】条形图、误差图
R语言与医学统计图形【2】散点图、盒形图
R语言与医学统计图形【1】par函数
Copyright © 2011-2022 走看看