Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / xsp / System / Web / Extensions / ui / ControlUtil.cs / 1 / ControlUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Web.Resources; using System.Web.UI; namespace System.Web.UI { internal class ControlUtil { internal static Control FindTargetControl(string controlID, Control control, bool searchNamingContainers) { Control foundControl; if (searchNamingContainers) { Control currentContainer; foundControl = null; // DevDiv 73305: Do not assume starting control is not a naming container. if (control is INamingContainer) { currentContainer = control; } else { currentContainer = control.NamingContainer; } do { foundControl = currentContainer.FindControl(controlID); currentContainer = currentContainer.NamingContainer; } while (foundControl == null && currentContainer != null); } else { foundControl = control.FindControl(controlID); } return foundControl; } internal static bool IsBuiltInHiddenField(string hiddenFieldName) { // Returns true is the field name represents a hidden field generated // by ASP.NET's core runtime. This includes fields such as ViewState and // EventValidation, but not ones generated by specific controls such as // TreeView and WebParts. // If the field is less than two chars long it's not built-in. (Perf) if (hiddenFieldName.Length <= 2) { return false; } // If it doesn't start with two underscores, it's not built-in. (Perf) if (hiddenFieldName[0] != '_' || hiddenFieldName[1] != '_') { return false; } // Examine list of built-in ASP.NET fields. The list was created by examining // the ASP.NET source code for hidden field registration and rendering. // We exclude __VIEWSTATEENCRYPTED and __VIEWSTATEFIELDCOUNT from the list // since they're covered by the general __VIEWSTATE part. return hiddenFieldName.StartsWith("__VIEWSTATE", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__EVENTVALIDATION", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__LASTFOCUS", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__SCROLLPOSITIONX", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__SCROLLPOSITIONY", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__EVENTTARGET", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__EVENTARGUMENT", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__PREVIOUSPAGE", StringComparison.Ordinal); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Web.Resources; using System.Web.UI; namespace System.Web.UI { internal class ControlUtil { internal static Control FindTargetControl(string controlID, Control control, bool searchNamingContainers) { Control foundControl; if (searchNamingContainers) { Control currentContainer; foundControl = null; // DevDiv 73305: Do not assume starting control is not a naming container. if (control is INamingContainer) { currentContainer = control; } else { currentContainer = control.NamingContainer; } do { foundControl = currentContainer.FindControl(controlID); currentContainer = currentContainer.NamingContainer; } while (foundControl == null && currentContainer != null); } else { foundControl = control.FindControl(controlID); } return foundControl; } internal static bool IsBuiltInHiddenField(string hiddenFieldName) { // Returns true is the field name represents a hidden field generated // by ASP.NET's core runtime. This includes fields such as ViewState and // EventValidation, but not ones generated by specific controls such as // TreeView and WebParts. // If the field is less than two chars long it's not built-in. (Perf) if (hiddenFieldName.Length <= 2) { return false; } // If it doesn't start with two underscores, it's not built-in. (Perf) if (hiddenFieldName[0] != '_' || hiddenFieldName[1] != '_') { return false; } // Examine list of built-in ASP.NET fields. The list was created by examining // the ASP.NET source code for hidden field registration and rendering. // We exclude __VIEWSTATEENCRYPTED and __VIEWSTATEFIELDCOUNT from the list // since they're covered by the general __VIEWSTATE part. return hiddenFieldName.StartsWith("__VIEWSTATE", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__EVENTVALIDATION", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__LASTFOCUS", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__SCROLLPOSITIONX", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__SCROLLPOSITIONY", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__EVENTTARGET", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__EVENTARGUMENT", StringComparison.Ordinal) || String.Equals(hiddenFieldName, "__PREVIOUSPAGE", StringComparison.Ordinal); } } } // 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
- OperandQuery.cs
- UnmanagedBitmapWrapper.cs
- X509Utils.cs
- ConfigXmlCDataSection.cs
- CodeGotoStatement.cs
- RefreshPropertiesAttribute.cs
- InputScopeNameConverter.cs
- BuildProvider.cs
- WebPartConnectionsCancelVerb.cs
- SchemaManager.cs
- WebDisplayNameAttribute.cs
- RegexWorker.cs
- ScrollChrome.cs
- RegionInfo.cs
- ListItemParagraph.cs
- StrongNameUtility.cs
- XamlClipboardData.cs
- XmlConverter.cs
- CodeSnippetTypeMember.cs
- FtpWebResponse.cs
- EventEntry.cs
- XmlDocumentSurrogate.cs
- GuidTagList.cs
- XPathChildIterator.cs
- MenuCommand.cs
- NamespaceList.cs
- Part.cs
- SiteMapDataSource.cs
- StylusDownEventArgs.cs
- HashCryptoHandle.cs
- ListSurrogate.cs
- ResourceContainer.cs
- SrgsOneOf.cs
- ScrollItemPattern.cs
- IssuanceLicense.cs
- MenuEventArgs.cs
- MaterialCollection.cs
- DeviceFiltersSection.cs
- MultipleViewPatternIdentifiers.cs
- SchemaInfo.cs
- DataSysAttribute.cs
- DesignerActionList.cs
- ADMembershipUser.cs
- CustomWebEventKey.cs
- WizardPanel.cs
- DispatcherExceptionEventArgs.cs
- ActivationProxy.cs
- DescendantBaseQuery.cs
- EntityModelSchemaGenerator.cs
- CachedFontFace.cs
- storepermissionattribute.cs
- UIAgentInitializationException.cs
- ResourcePool.cs
- XmlLinkedNode.cs
- PolyLineSegment.cs
- DecimalStorage.cs
- StringResourceManager.cs
- EasingKeyFrames.cs
- UserControl.cs
- DataGridViewCellStateChangedEventArgs.cs
- DecimalAnimationUsingKeyFrames.cs
- ButtonRenderer.cs
- ValidationRule.cs
- IMembershipProvider.cs
- ReturnType.cs
- Hex.cs
- QueueProcessor.cs
- FixedTextView.cs
- UIElementIsland.cs
- ConditionedDesigner.cs
- XsltQilFactory.cs
- NamespaceQuery.cs
- sqlser.cs
- ThreadInterruptedException.cs
- WebPartConnectionsCancelEventArgs.cs
- _ChunkParse.cs
- SHA512Cng.cs
- unitconverter.cs
- ResourceReferenceExpression.cs
- mediaclock.cs
- ColorBlend.cs
- DLinqAssociationProvider.cs
- SmtpAuthenticationManager.cs
- SolidBrush.cs
- ManualResetEventSlim.cs
- XmlObjectSerializerReadContextComplexJson.cs
- PlainXmlSerializer.cs
- HostnameComparisonMode.cs
- CallTemplateAction.cs
- ParamArrayAttribute.cs
- MultiPropertyDescriptorGridEntry.cs
- UpdateRecord.cs
- PenThreadPool.cs
- DataTemplate.cs
- PagePropertiesChangingEventArgs.cs
- RootProfilePropertySettingsCollection.cs
- UnsafeNativeMethods.cs
- XmlNavigatorFilter.cs
- DebugView.cs
- Icon.cs