| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- //
- // System.Web.UI.UserControl
- //
- // Authors:
- // Gonzalo Paniagua Javier ([email protected])
- //
- // (C) 2002 Ximian, Inc (http://www.ximian.com)
- //
- using System;
- using System.Web.Caching;
- using System.Web.SessionState;
- namespace System.Web.UI
- {
- public class UserControl : TemplateControl, IAttributeAccessor
- {
- private bool initialized;
- private AttributeCollection attributes;
- private StateBag attrBag;
- public UserControl ()
- {
- //??
- }
- public HttpApplicationState Application
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Application;
- }
- }
- private void EnsureAttributes ()
- {
- if (attributes == null) {
- attrBag = new StateBag (true);
- if (IsTrackingViewState)
- attrBag.TrackViewState ();
- attributes = new AttributeCollection (attrBag);
- }
- }
- public AttributeCollection Attributes
- {
- get {
- return attributes;
- }
- }
- public Cache Cache
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Cache;
- }
- }
- public bool IsPostBack
- {
- get {
- Page p = Page;
- if (p == null)
- return false;
- return p.IsPostBack;
- }
- }
- public HttpRequest Request
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Request;
- }
- }
- public HttpResponse Response
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Response;
- }
- }
- public HttpServerUtility Server
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Server;
- }
- }
- public HttpSessionState Session
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Session;
- }
- }
- public TraceContext Trace
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Trace;
- }
- }
- [MonoTODO]
- public void DesignerInitialize ()
- {
- throw new NotImplementedException ();
- }
- public void InitializeAsUserControl (Page page)
- {
- if (initialized)
- return;
- initialized = true;
- WireupAutomaticEvents ();
- FrameworkInitialize ();
- }
- [MonoTODO]
- public string MapPath (string virtualPath)
- {
- throw new NotImplementedException ();
- }
- protected override void LoadViewState (object savedState)
- {
- if (savedState != null) {
- Pair p = (Pair) savedState;
- base.LoadViewState (p.First);
- if (p.Second != null) {
- EnsureAttributes ();
- attrBag.LoadViewState (p.Second);
- }
- }
- }
- protected override void OnInit (EventArgs e)
- {
- if (Page != null)
- InitializeAsUserControl (Page);
- base.OnInit(e);
- }
- protected override object SaveViewState ()
- {
- object baseState = base.SaveViewState();
- object attrState = null;
- if (attributes != null)
- attrState = attrBag.SaveViewState ();
- if (baseState == null && attrState == null)
- return null;
- return new Pair (baseState, attrState);
- }
- string IAttributeAccessor.GetAttribute (string name)
- {
- if (attributes == null)
- return null;
- return attributes [name];
- }
-
- void IAttributeAccessor.SetAttribute (string name, string value)
- {
- EnsureAttributes ();
- Attributes [name] = value;
- }
- }
- }
|