Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / ui / UpdateProgress.cs / 1 / 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.Security.Permissions; using System.Text; using System.Web; using System.Web.UI; using System.Web.Script; using System.Web.Resources; using System.Web.Util; [ AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal), 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, IScriptControl { 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", "CA1706:ShortAcronymsShouldBeUppercase"), TypeConverter("System.Web.UI.Design.UpdateProgressAssociatedUpdatePanelIDConverter") ] public string AssociatedUpdatePanelID { get { if (_associatedUpdatePanelID == null) { return String.Empty; } return _associatedUpdatePanelID; } set { _associatedUpdatePanelID = value; } } [ 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; } } [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers")] protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); ScriptManager.RegisterScriptControl(this); // Set up the progress template if (_progressTemplate == null) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.UpdateProgress_TemplateRequired, ID)); } _progressTemplateContainer = new Control(); _progressTemplate.InstantiateIn(_progressTemplateContainer); Controls.Add(_progressTemplateContainer); } protected internal override void Render(HtmlTextWriter writer) { writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID); if (_dynamicLayout) { writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); } else { writer.AddStyleAttribute(HtmlTextWriterStyle.Visibility, "hidden"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "block"); } 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; } #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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AutomationEventArgs.cs
- ScrollBarRenderer.cs
- EntityCommandExecutionException.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- GroupByQueryOperator.cs
- FormViewPagerRow.cs
- XmlSchemaSimpleContent.cs
- RegistryConfigurationProvider.cs
- ColumnMapTranslator.cs
- CallbackHandler.cs
- PropertyRecord.cs
- ObfuscationAttribute.cs
- ExeConfigurationFileMap.cs
- FunctionUpdateCommand.cs
- XmlSchemaExternal.cs
- CreateParams.cs
- DeflateEmulationStream.cs
- NextPreviousPagerField.cs
- PixelFormat.cs
- AsymmetricKeyExchangeFormatter.cs
- AppDomainFactory.cs
- EdmRelationshipRoleAttribute.cs
- WorkflowEnvironment.cs
- LockedBorderGlyph.cs
- COM2PropertyBuilderUITypeEditor.cs
- UIElementIsland.cs
- EventProxy.cs
- DefaultValueAttribute.cs
- ProtectedConfigurationProviderCollection.cs
- OutputCacheSection.cs
- PerformanceCounter.cs
- RequestSecurityTokenResponse.cs
- FormViewUpdateEventArgs.cs
- DemultiplexingClientMessageFormatter.cs
- VarRefManager.cs
- RangeValuePatternIdentifiers.cs
- UIntPtr.cs
- WindowsRebar.cs
- TextParagraphView.cs
- ScalarConstant.cs
- NumericUpDown.cs
- StoreAnnotationsMap.cs
- SiteMapNodeCollection.cs
- TouchDevice.cs
- UICuesEvent.cs
- ApplicationFileCodeDomTreeGenerator.cs
- assertwrapper.cs
- SineEase.cs
- DynamicEndpoint.cs
- DiagnosticTraceSource.cs
- OracleTimeSpan.cs
- ComAdminInterfaces.cs
- ValidationResult.cs
- MethodBuilder.cs
- TemplateManager.cs
- CompensateDesigner.cs
- RemoteWebConfigurationHostServer.cs
- ExpanderAutomationPeer.cs
- AssemblyFilter.cs
- EventProviderTraceListener.cs
- InterleavedZipPartStream.cs
- HandlerMappingMemo.cs
- ConvertEvent.cs
- SortedDictionary.cs
- FormViewPageEventArgs.cs
- TrimSurroundingWhitespaceAttribute.cs
- TypeReference.cs
- ConnectionInterfaceCollection.cs
- FormViewCommandEventArgs.cs
- Stack.cs
- Vector3DValueSerializer.cs
- SqlXml.cs
- DataError.cs
- RequestQueue.cs
- FormViewDeleteEventArgs.cs
- Accessible.cs
- UpdatePanelTrigger.cs
- ReadOnlyPermissionSet.cs
- InputProcessorProfiles.cs
- XmlSchemaObjectCollection.cs
- TemplateBindingExpressionConverter.cs
- InternalResources.cs
- StyleSelector.cs
- XmlQualifiedName.cs
- IISUnsafeMethods.cs
- CompareInfo.cs
- WmlCalendarAdapter.cs
- FacetValues.cs
- EventLogPermissionAttribute.cs
- PropertyMapper.cs
- ConfigXmlWhitespace.cs
- Accessible.cs
- QueueProcessor.cs
- Attributes.cs
- PaperSize.cs
- MulticastOption.cs
- DataServiceContext.cs
- MetadataItem.cs
- Semaphore.cs
- DataGridViewColumnDesigner.cs