Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / UpdateProgress.cs / 1305376 / UpdateProgress.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Drawing; using System.Globalization; using System.Text; using System.Web; using System.Web.UI; using System.Web.Script; using System.Web.Resources; using System.Web.Util; [ DefaultProperty("AssociatedUpdatePanelID"), Designer("System.Web.UI.Design.UpdateProgressDesigner, " + AssemblyRef.SystemWebExtensionsDesign), ParseChildren(true), PersistChildren(false), ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.UpdateProgress.bmp") ] public class UpdateProgress : Control, IAttributeAccessor, IScriptControl { private AttributeCollection _attributes; private ITemplate _progressTemplate; private Control _progressTemplateContainer; private int _displayAfter = 500; private bool _dynamicLayout = true; private string _associatedUpdatePanelID; [ Category("Behavior"), DefaultValue(""), IDReferenceProperty(typeof(UpdatePanel)), ResourceDescription("UpdateProgress_AssociatedUpdatePanelID"), SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "ID"), TypeConverter("System.Web.UI.Design.UpdateProgressAssociatedUpdatePanelIDConverter") ] public string AssociatedUpdatePanelID { get { if (_associatedUpdatePanelID == null) { return String.Empty; } return _associatedUpdatePanelID; } set { _associatedUpdatePanelID = value; } } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), WebSysDescription(SR.WebControl_Attributes) ] public AttributeCollection Attributes { get { if (_attributes == null) { StateBag bag = new StateBag(true /* ignoreCase */); _attributes = new AttributeCollection(bag); } return _attributes; } } public override ControlCollection Controls { get { EnsureChildControls(); return base.Controls; } } [ DefaultValue(500), ResourceDescription("UpdateProgress_DisplayAfter"), Category("Behavior") ] public int DisplayAfter { get { return _displayAfter; } set { if (value < 0) { throw new ArgumentOutOfRangeException(AtlasWeb.UpdateProgress_DisplayAfterInvalid); } _displayAfter = value; } } [ Browsable(false), PersistenceMode(PersistenceMode.InnerProperty), ResourceDescription("UpdateProgress_ProgressTemplate"), ] public ITemplate ProgressTemplate { get { return _progressTemplate; } set { _progressTemplate = value; } } [ DefaultValue(true), ResourceDescription("UpdateProgress_DynamicLayout"), Category("Behavior") ] public bool DynamicLayout { get { return _dynamicLayout; } set { _dynamicLayout = value; } } private ScriptManager ScriptManager { get { ScriptManager scriptManager = ScriptManager.GetCurrent(Page); if (scriptManager == null) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.Common_ScriptManagerRequired, ID)); } return scriptManager; } } protected internal override void CreateChildControls() { // Set up the progress template if (_progressTemplate != null) { _progressTemplateContainer = new Control(); _progressTemplate.InstantiateIn(_progressTemplateContainer); Controls.Add(_progressTemplateContainer); } } public override void DataBind() { EnsureChildControls(); base.DataBind(); } [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers")] protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); ScriptManager.RegisterScriptControl(this); } protected internal override void Render(HtmlTextWriter writer) { EnsureChildControls(); writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID); if (_dynamicLayout) { writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); } else { writer.AddStyleAttribute(HtmlTextWriterStyle.Visibility, "hidden"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "block"); } if (_attributes != null) { _attributes.AddAttributes(writer); } writer.RenderBeginTag(HtmlTextWriterTag.Div); base.Render(writer); writer.RenderEndTag(); // div if (!DesignMode) { ScriptManager.RegisterScriptDescriptors(this); } } [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Matches IScriptControl interface.")] protected virtual IEnumerableGetScriptReferences() { yield break; } [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Matches IScriptControl interface.")] protected virtual IEnumerable GetScriptDescriptors() { // Don't render any scripts when partial rendering is not enabled if (Page != null && ScriptManager.SupportsPartialRendering && Visible) { ScriptControlDescriptor desc = new ScriptControlDescriptor("Sys.UI._UpdateProgress", ClientID); string updatePanelClientID = null; if (!String.IsNullOrEmpty(AssociatedUpdatePanelID)) { // Try both the NamingContainer and the Page UpdatePanel c = ControlUtil.FindTargetControl(AssociatedUpdatePanelID, this, true) as UpdatePanel; if (c != null) updatePanelClientID = c.ClientID; else { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.UpdateProgress_NoUpdatePanel, AssociatedUpdatePanelID)); } } desc.AddProperty("associatedUpdatePanelId", updatePanelClientID); desc.AddProperty("dynamicLayout", DynamicLayout); desc.AddProperty("displayAfter", DisplayAfter); yield return desc; } yield break; } string IAttributeAccessor.GetAttribute(string key) { return (_attributes != null) ? _attributes[key] : null; } void IAttributeAccessor.SetAttribute(string key, string value) { Attributes[key] = value; } #region IScriptControl Members IEnumerable IScriptControl.GetScriptReferences() { return GetScriptReferences(); } IEnumerable IScriptControl.GetScriptDescriptors() { return GetScriptDescriptors(); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Drawing; using System.Globalization; using System.Text; using System.Web; using System.Web.UI; using System.Web.Script; using System.Web.Resources; using System.Web.Util; [ DefaultProperty("AssociatedUpdatePanelID"), Designer("System.Web.UI.Design.UpdateProgressDesigner, " + AssemblyRef.SystemWebExtensionsDesign), ParseChildren(true), PersistChildren(false), ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.UpdateProgress.bmp") ] public class UpdateProgress : Control, IAttributeAccessor, IScriptControl { private AttributeCollection _attributes; private ITemplate _progressTemplate; private Control _progressTemplateContainer; private int _displayAfter = 500; private bool _dynamicLayout = true; private string _associatedUpdatePanelID; [ Category("Behavior"), DefaultValue(""), IDReferenceProperty(typeof(UpdatePanel)), ResourceDescription("UpdateProgress_AssociatedUpdatePanelID"), SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "ID"), TypeConverter("System.Web.UI.Design.UpdateProgressAssociatedUpdatePanelIDConverter") ] public string AssociatedUpdatePanelID { get { if (_associatedUpdatePanelID == null) { return String.Empty; } return _associatedUpdatePanelID; } set { _associatedUpdatePanelID = value; } } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), WebSysDescription(SR.WebControl_Attributes) ] public AttributeCollection Attributes { get { if (_attributes == null) { StateBag bag = new StateBag(true /* ignoreCase */); _attributes = new AttributeCollection(bag); } return _attributes; } } public override ControlCollection Controls { get { EnsureChildControls(); return base.Controls; } } [ DefaultValue(500), ResourceDescription("UpdateProgress_DisplayAfter"), Category("Behavior") ] public int DisplayAfter { get { return _displayAfter; } set { if (value < 0) { throw new ArgumentOutOfRangeException(AtlasWeb.UpdateProgress_DisplayAfterInvalid); } _displayAfter = value; } } [ Browsable(false), PersistenceMode(PersistenceMode.InnerProperty), ResourceDescription("UpdateProgress_ProgressTemplate"), ] public ITemplate ProgressTemplate { get { return _progressTemplate; } set { _progressTemplate = value; } } [ DefaultValue(true), ResourceDescription("UpdateProgress_DynamicLayout"), Category("Behavior") ] public bool DynamicLayout { get { return _dynamicLayout; } set { _dynamicLayout = value; } } private ScriptManager ScriptManager { get { ScriptManager scriptManager = ScriptManager.GetCurrent(Page); if (scriptManager == null) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.Common_ScriptManagerRequired, ID)); } return scriptManager; } } protected internal override void CreateChildControls() { // Set up the progress template if (_progressTemplate != null) { _progressTemplateContainer = new Control(); _progressTemplate.InstantiateIn(_progressTemplateContainer); Controls.Add(_progressTemplateContainer); } } public override void DataBind() { EnsureChildControls(); base.DataBind(); } [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers")] protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); ScriptManager.RegisterScriptControl(this); } protected internal override void Render(HtmlTextWriter writer) { EnsureChildControls(); writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID); if (_dynamicLayout) { writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); } else { writer.AddStyleAttribute(HtmlTextWriterStyle.Visibility, "hidden"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "block"); } if (_attributes != null) { _attributes.AddAttributes(writer); } writer.RenderBeginTag(HtmlTextWriterTag.Div); base.Render(writer); writer.RenderEndTag(); // div if (!DesignMode) { ScriptManager.RegisterScriptDescriptors(this); } } [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Matches IScriptControl interface.")] protected virtual IEnumerableGetScriptReferences() { yield break; } [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Matches IScriptControl interface.")] protected virtual IEnumerable GetScriptDescriptors() { // Don't render any scripts when partial rendering is not enabled if (Page != null && ScriptManager.SupportsPartialRendering && Visible) { ScriptControlDescriptor desc = new ScriptControlDescriptor("Sys.UI._UpdateProgress", ClientID); string updatePanelClientID = null; if (!String.IsNullOrEmpty(AssociatedUpdatePanelID)) { // Try both the NamingContainer and the Page UpdatePanel c = ControlUtil.FindTargetControl(AssociatedUpdatePanelID, this, true) as UpdatePanel; if (c != null) updatePanelClientID = c.ClientID; else { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.UpdateProgress_NoUpdatePanel, AssociatedUpdatePanelID)); } } desc.AddProperty("associatedUpdatePanelId", updatePanelClientID); desc.AddProperty("dynamicLayout", DynamicLayout); desc.AddProperty("displayAfter", DisplayAfter); yield return desc; } yield break; } string IAttributeAccessor.GetAttribute(string key) { return (_attributes != null) ? _attributes[key] : null; } void IAttributeAccessor.SetAttribute(string key, string value) { Attributes[key] = value; } #region IScriptControl Members IEnumerable IScriptControl.GetScriptReferences() { return GetScriptReferences(); } IEnumerable IScriptControl.GetScriptDescriptors() { return GetScriptDescriptors(); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ILGen.cs
- DesignerProperties.cs
- baseaxisquery.cs
- RuleCache.cs
- MetadataFile.cs
- HandleExceptionArgs.cs
- PointHitTestResult.cs
- SqlGenericUtil.cs
- ChangesetResponse.cs
- UnsafeNativeMethods.cs
- ApplicationTrust.cs
- DynamicFilter.cs
- MenuItem.cs
- DataRowChangeEvent.cs
- ReadOnlyAttribute.cs
- MulticastNotSupportedException.cs
- _AcceptOverlappedAsyncResult.cs
- ChannelParameterCollection.cs
- FormDesigner.cs
- DBSqlParserColumnCollection.cs
- ArrayElementGridEntry.cs
- WebPartHelpVerb.cs
- EventToken.cs
- BrowserCapabilitiesFactory.cs
- controlskin.cs
- WebBrowserUriTypeConverter.cs
- NullableConverter.cs
- TextRunCache.cs
- GACIdentityPermission.cs
- MemoryMappedView.cs
- HttpRequest.cs
- FreeFormDragDropManager.cs
- SettingsProviderCollection.cs
- MarkerProperties.cs
- FramingDecoders.cs
- AnchoredBlock.cs
- GradientStop.cs
- XmlArrayItemAttributes.cs
- GenericArgumentsUpdater.cs
- CryptoApi.cs
- WebServiceBindingAttribute.cs
- AndMessageFilter.cs
- MergePropertyDescriptor.cs
- DES.cs
- IDReferencePropertyAttribute.cs
- StatusBarDrawItemEvent.cs
- StatusBarAutomationPeer.cs
- TypeDependencyAttribute.cs
- cookie.cs
- AuthenticationService.cs
- ApplicationInfo.cs
- HandleRef.cs
- CallbackValidator.cs
- WebConfigurationHostFileChange.cs
- ToolStripSplitStackLayout.cs
- UnmanagedMemoryStreamWrapper.cs
- TextBox.cs
- RegexFCD.cs
- SqlMultiplexer.cs
- ReadOnlyNameValueCollection.cs
- PropertyInformation.cs
- DiscoveryClientReferences.cs
- TimestampInformation.cs
- WindowsFormsLinkLabel.cs
- RSAOAEPKeyExchangeFormatter.cs
- TextTreeRootTextBlock.cs
- DataGridViewColumnDesigner.cs
- ObjectDataSourceFilteringEventArgs.cs
- KeyedHashAlgorithm.cs
- PrintPageEvent.cs
- VisualBasicExpressionConverter.cs
- COM2TypeInfoProcessor.cs
- storepermissionattribute.cs
- DataSourceHelper.cs
- UnsafeNativeMethodsPenimc.cs
- SqlAliaser.cs
- CryptoApi.cs
- TraceUtility.cs
- DataBoundControlHelper.cs
- PropertiesTab.cs
- ValidationRuleCollection.cs
- SynchronizationLockException.cs
- TargetInvocationException.cs
- Adorner.cs
- FunctionParameter.cs
- DisplayInformation.cs
- _FtpDataStream.cs
- CacheAxisQuery.cs
- _FixedSizeReader.cs
- SQlBooleanStorage.cs
- HeaderedItemsControl.cs
- OutOfMemoryException.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- PersonalizableAttribute.cs
- TargetControlTypeCache.cs
- NullNotAllowedCollection.cs
- RankException.cs
- CustomCredentialPolicy.cs
- SelectorAutomationPeer.cs
- ComboBoxRenderer.cs