using System.Xml;
using vmw.common;
using System.Web.Util;
+using System.Collections.Generic;
namespace System.Web.UI {
BindingFlags.NonPublic |
BindingFlags.Instance;
- private byte [] GetResourceBytes (Type type)
+ byte [] GetResourceBytes (Type type)
{
Hashtable table = (Hashtable) AppDomain.CurrentDomain.GetData ("TemplateControl.RES_BYTES");
if (table == null) {
}
return (byte []) table [type];
}
- private void SetResourceBytes (Type type, byte [] bytes)
+ void SetResourceBytes (Type type, byte [] bytes)
{
Hashtable table = (Hashtable) AppDomain.CurrentDomain.GetData ("TemplateControl.RES_BYTES");
if (table == null) {
return;
}
- private Hashtable ResourceHash
+ Hashtable ResourceHash
{
get
{
}
}
- private string CachedString (Type type, int offset, int size)
+ string CachedString (Type type, int offset, int size)
{
CacheKey key = new CacheKey (type, offset, size);
typeof (object),
typeof (EventArgs) };
+ LifeCycleEvent[] _pageEvents = new LifeCycleEvent[] {
+ LifeCycleEvent.PreInit,
+ LifeCycleEvent.PreLoad,
+ LifeCycleEvent.LoadComplete,
+ LifeCycleEvent.PreRenderComplete,
+ LifeCycleEvent.SaveStateComplete,
+ LifeCycleEvent.InitComplete
+ };
+ List<LifeCycleEvent> pageEvents = new List<LifeCycleEvent>(_pageEvents);
+
+ bool isPage = Page.GetType().IsAssignableFrom(GetType());
+
for (int i = 0; i < methodNames.Length; i++) {
+
+ // Don't look for page-only events in non-page controls.
+ if (!isPage && pageEvents.Contains((LifeCycleEvent)i))
+ continue;
+
string methodName = methodNames [i];
MethodInfo method;
bool noParams = false;
}
}
- sealed private class CacheKey
+ sealed class CacheKey
{
readonly Type _type;
readonly int _offset;