从一个ListControl(比如DropDownList或者ListBox)里去掉一个ListItem,至少有两种方法,它们都可以让用户不能看到该item,1是ListItem.Enabled=false,2是Items.Remove(ListItem).但这两者的差别呢?今天终于发现了一个:Enabble=false会触发一次不必要的OnSelectedChanged事件。而且似乎触发的时间不能确定,如果你的postback回来的事件刚好也是这个事件或触发这个事件,可能就会触发两次。而且两者的先后顺序不一定,也有可能会冲掉这一个。这样就会照成很严重的问题。我的代码中是用delegate的方式触发了该事件,和enable=false造成的这个事件顺序不定,有时又不触发。搞了半天。。。
分类: IT
Page_Init和Page_Load
对于页面中包含有用户控件的情况下,
为什么Page_Init的顺序是先控件后页面,而Page_Load的顺序是先页面后控件呢?先页面后控件比较好理解–因为控件是加上去的。(Controls.Add()方法),但为什么Page_Init是先初始化子控件呢?
正则表达式里的/g
今天用javascript的正则表达式,发现例子后有一个/g,想来想去,再查网上无数正则的说明。居然没有把这个放入特殊字符之类的说明里。其实g代表global,即不只匹配一次,而是返回一个数组,全部的match都返回。
难道是javascript所独有的?为什么以前vb的regExp没注意到呢(难道是ms的regexp方法比较多,这个开关不用在表达式里表达?)?有空可以试试看vb,c#之类的正则类库认不认。