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
- WindowsPrincipal.cs
- StringBuilder.cs
- RegexRunnerFactory.cs
- PointHitTestResult.cs
- SafeUserTokenHandle.cs
- CapiSafeHandles.cs
- FastPropertyAccessor.cs
- WebPartZoneBaseDesigner.cs
- DesignerForm.cs
- TraceSwitch.cs
- ConfigurationManagerInternal.cs
- recordstate.cs
- BoundField.cs
- AsyncOperationManager.cs
- OperationParameterInfoCollection.cs
- CompositeActivityTypeDescriptorProvider.cs
- RemotingServices.cs
- AttributeAction.cs
- mediapermission.cs
- HttpListenerContext.cs
- Pts.cs
- TextViewBase.cs
- PropertyBuilder.cs
- Errors.cs
- unitconverter.cs
- OverrideMode.cs
- Dynamic.cs
- DatatypeImplementation.cs
- EncoderBestFitFallback.cs
- Rotation3DKeyFrameCollection.cs
- FormsAuthenticationUserCollection.cs
- CookieParameter.cs
- StylusTouchDevice.cs
- CheckBoxAutomationPeer.cs
- ContainerSelectorActiveEvent.cs
- TileModeValidation.cs
- GeneralTransform3DCollection.cs
- SqlParameterCollection.cs
- IndexedString.cs
- DebuggerService.cs
- _HelperAsyncResults.cs
- InvokePattern.cs
- LateBoundBitmapDecoder.cs
- CheckBoxFlatAdapter.cs
- CodeExpressionCollection.cs
- SystemResources.cs
- Pair.cs
- XamlPointCollectionSerializer.cs
- _CacheStreams.cs
- MatrixTransform.cs
- SqlMultiplexer.cs
- CLSCompliantAttribute.cs
- DataGridPageChangedEventArgs.cs
- HttpRuntimeSection.cs
- XmlNotation.cs
- AttachedAnnotationChangedEventArgs.cs
- SchemaTypeEmitter.cs
- XmlSchemaResource.cs
- WindowsListViewGroupSubsetLink.cs
- FixedElement.cs
- ComboBoxItem.cs
- GlobalizationSection.cs
- XmlElementCollection.cs
- WebBrowserNavigatingEventHandler.cs
- login.cs
- _ShellExpression.cs
- DocumentPageView.cs
- Stroke.cs
- Stylus.cs
- WebPartDisplayModeCollection.cs
- propertytag.cs
- StylusCollection.cs
- ChtmlTextWriter.cs
- CSharpCodeProvider.cs
- TemplateNodeContextMenu.cs
- RequestDescription.cs
- NameObjectCollectionBase.cs
- LoginName.cs
- TraceContext.cs
- XmlWriterSettings.cs
- TextContainerChangeEventArgs.cs
- SecurityElement.cs
- PropertyBuilder.cs
- GPPOINTF.cs
- HttpRuntime.cs
- DSASignatureFormatter.cs
- PageThemeParser.cs
- PropertyDescriptorGridEntry.cs
- Timeline.cs
- ScopelessEnumAttribute.cs
- RequestNavigateEventArgs.cs
- AsyncCodeActivity.cs
- RuntimeDelegateArgument.cs
- CommandID.cs
- SslSecurityTokenParameters.cs
- Menu.cs
- StringUtil.cs
- Mouse.cs
- ProfessionalColorTable.cs
- ListViewCommandEventArgs.cs