Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / ControlUtil.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProcessHostServerConfig.cs
- IPHostEntry.cs
- Triplet.cs
- PrimitiveXmlSerializers.cs
- ModelPerspective.cs
- MobileRedirect.cs
- ServiceContractAttribute.cs
- CodeIndexerExpression.cs
- PerformanceCounterPermission.cs
- SqlParameterCollection.cs
- XmlComment.cs
- TargetParameterCountException.cs
- RightsManagementSuppressedStream.cs
- WorkflowInstanceUnhandledExceptionRecord.cs
- MouseButton.cs
- SortableBindingList.cs
- Brushes.cs
- DesignTimeParseData.cs
- BoundingRectTracker.cs
- PersonalizationStateInfo.cs
- SerializationEventsCache.cs
- TargetException.cs
- LineMetrics.cs
- SqlBuilder.cs
- OdbcHandle.cs
- ListCollectionView.cs
- OperationContractGenerationContext.cs
- TextServicesLoader.cs
- GridEntryCollection.cs
- ControlBuilderAttribute.cs
- LostFocusEventManager.cs
- GeneralTransform.cs
- ScriptResourceAttribute.cs
- DataTablePropertyDescriptor.cs
- XmlCharType.cs
- BaseParser.cs
- XmlWriter.cs
- SymmetricAlgorithm.cs
- RelatedCurrencyManager.cs
- DoubleUtil.cs
- OleDbPropertySetGuid.cs
- TextChange.cs
- SettingsPropertyWrongTypeException.cs
- FaultImportOptions.cs
- TextComposition.cs
- PointConverter.cs
- CryptoConfig.cs
- DriveInfo.cs
- Expander.cs
- QilInvoke.cs
- GrammarBuilderDictation.cs
- DesignRelationCollection.cs
- ParsedAttributeCollection.cs
- FlowNode.cs
- CompositeActivityDesigner.cs
- XMLSchema.cs
- DbCommandTree.cs
- EditorPartChrome.cs
- RuleSet.cs
- XmlUrlResolver.cs
- SqlXmlStorage.cs
- WebUtil.cs
- BinaryParser.cs
- Misc.cs
- PackageRelationship.cs
- Stylesheet.cs
- PackageStore.cs
- InkPresenter.cs
- WeakEventTable.cs
- DynamicDocumentPaginator.cs
- BaseDataBoundControl.cs
- XmlSchemaAnnotation.cs
- Module.cs
- IncomingWebResponseContext.cs
- StretchValidation.cs
- ImageFormatConverter.cs
- WebReferencesBuildProvider.cs
- PropertyDescriptorComparer.cs
- ConnectionProviderAttribute.cs
- XmlQuerySequence.cs
- FixedPage.cs
- RegexBoyerMoore.cs
- EmptyElement.cs
- BufferedResponseStream.cs
- SignatureDescription.cs
- FilterQueryOptionExpression.cs
- InvokeHandlers.cs
- NotConverter.cs
- BitmapEffectGroup.cs
- MsmqProcessProtocolHandler.cs
- Config.cs
- M3DUtil.cs
- EllipticalNodeOperations.cs
- RevocationPoint.cs
- _Semaphore.cs
- SchemaObjectWriter.cs
- OrderByBuilder.cs
- NetworkInformationPermission.cs
- TemplateBindingExpression.cs
- EventSinkHelperWriter.cs