| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- //
- // System.Web.UI.UserControl.cs
- //
- // Authors:
- // Gonzalo Paniagua Javier ([email protected])
- // Andreas Nahr ([email protected])
- //
- // (C) 2002 Ximian, Inc (http://www.ximian.com)
- //
- using System;
- using System.ComponentModel;
- using System.ComponentModel.Design;
- using System.ComponentModel.Design.Serialization;
- using System.Web.Caching;
- using System.Web.SessionState;
- namespace System.Web.UI
- {
- [ControlBuilder (typeof (UserControlControlBuilder))]
- [DefaultEvent ("Load"), DesignerCategory ("ASPXCodeBehind")]
- [ToolboxItem (false)]
- [Designer ("System.Web.UI.Design.UserControlDesigner, " + Consts.AssemblySystem_Design, typeof (IDesigner))]
- [RootDesignerSerializer ("Microsoft.VSDesigner.WebForms.RootCodeDomSerializer, " + Consts.AssemblyMicrosoft_VSDesigner, "System.ComponentModel.Design.Serialization.CodeDomSerializer, " + Consts.AssemblySystem_Design, true)]
- public class UserControl : TemplateControl, IAttributeAccessor, IUserControlDesignerAccessor
- {
- private bool initialized;
- private AttributeCollection attributes;
- private StateBag attrBag;
- public UserControl ()
- {
- //??
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- 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);
- }
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- public AttributeCollection Attributes
- {
- get {
- return attributes;
- }
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- public Cache Cache
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Cache;
- }
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- public bool IsPostBack
- {
- get {
- Page p = Page;
- if (p == null)
- return false;
- return p.IsPostBack;
- }
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- public HttpRequest Request
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Request;
- }
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- public HttpResponse Response
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Response;
- }
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- public HttpServerUtility Server
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Server;
- }
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- public HttpSessionState Session
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Session;
- }
- }
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [Browsable (false)]
- public TraceContext Trace
- {
- get {
- Page p = Page;
- if (p == null)
- return null;
- return p.Trace;
- }
- }
- [MonoTODO]
- [EditorBrowsable (EditorBrowsableState.Never)]
- public void DesignerInitialize ()
- {
- throw new NotImplementedException ();
- }
- [EditorBrowsable (EditorBrowsableState.Never)]
- public void InitializeAsUserControl (Page page)
- {
- if (initialized)
- return;
- initialized = true;
- this.Page = page;
- WireupAutomaticEvents ();
- FrameworkInitialize ();
- }
- public string MapPath (string virtualPath)
- {
- return Request.MapPath (virtualPath, TemplateSourceDirectory, true);
- }
- 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)
- {
- 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;
- }
- string IUserControlDesignerAccessor.InnerText
- {
- get {
- string innerText = ((string) ViewState["!DesignTimeInnerText"]);
- if (innerText == null)
- return string.Empty;
- return innerText;
- }
- set { ViewState["!DesignTimeInnerText"] = value; }
- }
- string IUserControlDesignerAccessor.TagName
- {
- get {
- string innerTag = ((string) ViewState["!DesignTimeTagName"]);
- if (innerTag == null)
- return string.Empty;
- return innerTag;
- }
- set { ViewState["!DesignTimeTagName"] = value; }
- }
- }
- }
|