Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / DataControlLinkButton.cs / 2 / DataControlLinkButton.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Drawing; using System.Web.Util; ////// Derived version of LinkButton used within a DataControl. /// [SupportsEventValidation] internal class DataControlLinkButton : LinkButton { IPostBackContainer _container; string _callbackArgument; bool _enableCallback; internal DataControlLinkButton(IPostBackContainer container) { _container = container; } public override bool CausesValidation { get { if (_container != null) { return false; } return base.CausesValidation; } set { if (_container != null) { throw new NotSupportedException(SR.GetString(SR.CannotSetValidationOnDataControlButtons)); } base.CausesValidation = value; } } internal void EnableCallback(string argument) { _enableCallback = true; _callbackArgument = argument; } protected override PostBackOptions GetPostBackOptions() { if (_container != null) { return _container.GetPostBackOptions(this); } return base.GetPostBackOptions(); } protected internal override void Render(HtmlTextWriter writer) { SetCallbackProperties(); SetForeColor(); base.Render(writer); } private void SetCallbackProperties() { if (_enableCallback) { ICallbackContainer _callbackContainer = _container as ICallbackContainer; if (_callbackContainer != null) { string callbackScript = _callbackContainer.GetCallbackScript(this, _callbackArgument); if (!String.IsNullOrEmpty(callbackScript)) { this.OnClientClick = callbackScript; } } } } ////// In HTML hyperlinks always use the browser's link color. /// For the DataControl, we want all LinkButtons to honor the ForeColor setting. /// This requires looking up into the control hierarchy to see if either the cell /// or the containing row or table define a ForeColor. /// protected virtual void SetForeColor() { if (ControlStyle.IsSet(System.Web.UI.WebControls.Style.PROP_FORECOLOR) == false) { Color hyperLinkForeColor; Control control = this; for (int i = 0; i < 3; i++) { control = control.Parent; Debug.Assert(((i == 0) && (control is TableCell)) || ((i == 1) && (control is TableRow)) || ((i == 2) && (control is Table))); hyperLinkForeColor = ((WebControl)control).ForeColor; if (hyperLinkForeColor != Color.Empty) { ForeColor = hyperLinkForeColor; break; } } } } } } // 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
- NativeMethods.cs
- CacheVirtualItemsEvent.cs
- linebase.cs
- CultureTableRecord.cs
- DATA_BLOB.cs
- StringUtil.cs
- PropertyMap.cs
- EntityDataSourceContainerNameItem.cs
- PaintEvent.cs
- DBBindings.cs
- RemoteWebConfigurationHostServer.cs
- Vector.cs
- XamlSerializerUtil.cs
- PropVariant.cs
- CustomError.cs
- StylusPointPropertyInfoDefaults.cs
- Thread.cs
- RenderData.cs
- XmlAnyAttributeAttribute.cs
- BindingCollection.cs
- RightsManagementEncryptedStream.cs
- NativeMethods.cs
- CodeMemberField.cs
- SelectionListComponentEditor.cs
- GlyphRunDrawing.cs
- FacetDescription.cs
- DataGridPagerStyle.cs
- Accessible.cs
- ResXResourceWriter.cs
- localization.cs
- NameValuePermission.cs
- CacheDependency.cs
- BitStack.cs
- AssemblySettingAttributes.cs
- OleDbPermission.cs
- DoubleAnimation.cs
- CodeMethodInvokeExpression.cs
- DataSourceDesigner.cs
- ContentElement.cs
- SiteMap.cs
- XPathNode.cs
- ReflectPropertyDescriptor.cs
- ThreadExceptionEvent.cs
- ExpressionPrefixAttribute.cs
- Keywords.cs
- PeerEndPoint.cs
- AdornerHitTestResult.cs
- OleDbRowUpdatedEvent.cs
- ReadOnlyNameValueCollection.cs
- ClientSettings.cs
- DynamicExpression.cs
- ConfigDefinitionUpdates.cs
- NativeWindow.cs
- basevalidator.cs
- Model3DGroup.cs
- SocketAddress.cs
- PrimitiveCodeDomSerializer.cs
- AlignmentXValidation.cs
- CommonDialog.cs
- WebAdminConfigurationHelper.cs
- _UriTypeConverter.cs
- QuadTree.cs
- AccessedThroughPropertyAttribute.cs
- RunInstallerAttribute.cs
- WebServiceHost.cs
- ProtocolsConfigurationHandler.cs
- HtmlInputControl.cs
- CultureInfo.cs
- CodeIndexerExpression.cs
- TableLayoutColumnStyleCollection.cs
- RecognitionEventArgs.cs
- CodeAttributeDeclarationCollection.cs
- XsdDataContractExporter.cs
- LateBoundBitmapDecoder.cs
- SafeArrayTypeMismatchException.cs
- XmlAnyElementAttributes.cs
- AlphabetConverter.cs
- ChoiceConverter.cs
- TemplateKey.cs
- embossbitmapeffect.cs
- XsltSettings.cs
- UIPermission.cs
- WebPartConnectionsConfigureVerb.cs
- OrderedDictionary.cs
- MulticastNotSupportedException.cs
- Attributes.cs
- UpdatePanelTriggerCollection.cs
- RelationshipEndCollection.cs
- TransformerInfo.cs
- RealProxy.cs
- UnsafePeerToPeerMethods.cs
- GetResponse.cs
- ImageField.cs
- UnlockInstanceCommand.cs
- TextTabProperties.cs
- SerializationFieldInfo.cs
- MessageEncoder.cs
- CustomDictionarySources.cs
- LinqDataSourceDisposeEventArgs.cs
- ResourceCodeDomSerializer.cs