Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ManifestSignedXml.cs
- MenuAutomationPeer.cs
- InputScope.cs
- DetailsViewUpdatedEventArgs.cs
- ResourceDictionaryCollection.cs
- RequestSecurityTokenResponse.cs
- DateTimeConverter.cs
- BackStopAuthenticationModule.cs
- SqlConnectionPoolGroupProviderInfo.cs
- BufferedWebEventProvider.cs
- ProgressiveCrcCalculatingStream.cs
- ColorTransformHelper.cs
- CalendarSelectionChangedEventArgs.cs
- XMLSchema.cs
- RadioButtonPopupAdapter.cs
- _NativeSSPI.cs
- MimeTypePropertyAttribute.cs
- LoadWorkflowByInstanceKeyCommand.cs
- HtmlElementErrorEventArgs.cs
- BaseCollection.cs
- SplitterCancelEvent.cs
- SafeReversePInvokeHandle.cs
- MessageContractImporter.cs
- UserPersonalizationStateInfo.cs
- WebSysDefaultValueAttribute.cs
- CachedResourceDictionaryExtension.cs
- VectorKeyFrameCollection.cs
- Aggregates.cs
- XmlHierarchicalDataSourceView.cs
- ConfigUtil.cs
- DynamicPropertyReader.cs
- SqlFactory.cs
- ZipIOBlockManager.cs
- ImageButton.cs
- ListBase.cs
- MethodAccessException.cs
- ExtendLockCommand.cs
- AmbientProperties.cs
- EncryptedPackageFilter.cs
- LayoutManager.cs
- PropertiesTab.cs
- SecurityTokenContainer.cs
- keycontainerpermission.cs
- DmlSqlGenerator.cs
- BamlLocalizer.cs
- TokenBasedSetEnumerator.cs
- WebPartEditorOkVerb.cs
- DecoratedNameAttribute.cs
- WebPartConnectionsCancelEventArgs.cs
- LexicalChunk.cs
- MILUtilities.cs
- ModelUtilities.cs
- NativeCompoundFileAPIs.cs
- TrackingAnnotationCollection.cs
- MediaEntryAttribute.cs
- TreeViewEvent.cs
- InvokeProviderWrapper.cs
- OracleRowUpdatedEventArgs.cs
- SerializationInfo.cs
- SafeRightsManagementSessionHandle.cs
- LineGeometry.cs
- EncoderNLS.cs
- APCustomTypeDescriptor.cs
- NativeMethods.cs
- HttpListener.cs
- codemethodreferenceexpression.cs
- codemethodreferenceexpression.cs
- NativeConfigurationLoader.cs
- RewritingValidator.cs
- WebBrowser.cs
- DesignerGeometryHelper.cs
- SoapSchemaExporter.cs
- ZoneButton.cs
- TypeConverterAttribute.cs
- Form.cs
- Transform.cs
- ColumnHeaderCollectionEditor.cs
- ObjectViewFactory.cs
- LinearKeyFrames.cs
- ReversePositionQuery.cs
- OutArgumentConverter.cs
- ImageDrawing.cs
- Transactions.cs
- TrustLevel.cs
- SqlCacheDependencyDatabaseCollection.cs
- PropertyInfoSet.cs
- GridViewRowCollection.cs
- StateDesigner.CommentLayoutGlyph.cs
- EventProviderClassic.cs
- GridViewRowCollection.cs
- ConnectionManagementElementCollection.cs
- PTManager.cs
- ObjectPropertyMapping.cs
- TransactedBatchingBehavior.cs
- ScrollViewerAutomationPeer.cs
- MembershipValidatePasswordEventArgs.cs
- ContentPlaceHolder.cs
- OperationPickerDialog.designer.cs
- ChildDocumentBlock.cs
- ConfigXmlText.cs