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
- ClassHandlersStore.cs
- LostFocusEventManager.cs
- XmlChildNodes.cs
- MessageDescriptionCollection.cs
- MexHttpBindingCollectionElement.cs
- UInt64.cs
- ListViewInsertionMark.cs
- FileDialog_Vista.cs
- DataSourceView.cs
- RectangleGeometry.cs
- Command.cs
- DeferredSelectedIndexReference.cs
- WinFormsUtils.cs
- CodeTypeDeclarationCollection.cs
- SyndicationDeserializer.cs
- RuntimeConfigurationRecord.cs
- PageAdapter.cs
- TypeSystemHelpers.cs
- XmlCDATASection.cs
- FocusWithinProperty.cs
- MSHTMLHost.cs
- IPipelineRuntime.cs
- ToolBarOverflowPanel.cs
- CodeExporter.cs
- templategroup.cs
- TimeSpan.cs
- StrongNameSignatureInformation.cs
- AmbientLight.cs
- CompilerInfo.cs
- FlowNode.cs
- ConfigsHelper.cs
- InternalRelationshipCollection.cs
- ScrollViewerAutomationPeer.cs
- KnowledgeBase.cs
- SqlBulkCopyColumnMappingCollection.cs
- RuleSettingsCollection.cs
- ComplexLine.cs
- DBSqlParser.cs
- MimeMapping.cs
- NullableIntAverageAggregationOperator.cs
- LoginAutoFormat.cs
- Pen.cs
- translator.cs
- FileSystemInfo.cs
- SafeHandle.cs
- OneOfScalarConst.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- XmlDeclaration.cs
- returneventsaver.cs
- CorrelationManager.cs
- RSAOAEPKeyExchangeFormatter.cs
- Stylesheet.cs
- EventBuilder.cs
- TypeSource.cs
- DataGridItemCollection.cs
- RegisteredDisposeScript.cs
- SqlFlattener.cs
- DataSourceView.cs
- followingquery.cs
- IntSecurity.cs
- Keywords.cs
- WeakReference.cs
- OpenTypeLayoutCache.cs
- TextEffectResolver.cs
- ActivityInterfaces.cs
- Localizer.cs
- TextEditorContextMenu.cs
- SettingsProperty.cs
- RelatedCurrencyManager.cs
- externdll.cs
- ExpressionTextBoxAutomationPeer.cs
- AtomicFile.cs
- SmtpCommands.cs
- MDIControlStrip.cs
- DetailsViewPagerRow.cs
- Subset.cs
- WindowsListViewItemCheckBox.cs
- xamlnodes.cs
- Guid.cs
- DataColumnSelectionConverter.cs
- ConstantProjectedSlot.cs
- ArrayConverter.cs
- SHA1Managed.cs
- PeerToPeerException.cs
- DescriptionAttribute.cs
- SmtpDigestAuthenticationModule.cs
- TaskFormBase.cs
- TableLayoutColumnStyleCollection.cs
- Nodes.cs
- PersonalizationProvider.cs
- ZoneIdentityPermission.cs
- GreenMethods.cs
- AbsoluteQuery.cs
- WindowsSpinner.cs
- TransformationRules.cs
- MexTcpBindingCollectionElement.cs
- DataServiceRequestOfT.cs
- BindingMAnagerBase.cs
- RequestQueryProcessor.cs
- RemoteArgument.cs