Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / WebControls / Button.cs / 1 / Button.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Drawing.Design; using System.Security.Permissions; using System.Web; using System.Web.UI; using System.Web.Util; ////// [ DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + AssemblyRef.SystemDesign), DefaultEvent("Click"), DefaultProperty("Text"), Designer("System.Web.UI.Design.WebControls.ButtonDesigner, " + AssemblyRef.SystemDesign), ToolboxData("<{0}:Button runat=\"server\" Text=\"Button\">{0}:Button>"), SupportsEventValidation ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class Button : WebControl, IButtonControl, IPostBackEventHandler { private static readonly object EventClick = new object(); private static readonly object EventCommand = new object(); ///Represents a Windows button control. ////// public Button() : base(HtmlTextWriterTag.Input) { } ///Initializes a new instance of the ///class. /// [ DefaultValue(true), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.Button_CausesValidation), ] public virtual bool CausesValidation { get { object b = ViewState["CausesValidation"]; return((b == null) ? true : (bool)b); } set { ViewState["CausesValidation"] = value; } } ///Gets or sets whether pressing the button causes page validation to fire. This defaults to True so that when /// using validation controls, the validation state of all controls are updated when the button is clicked, both /// on the client and the server. Setting this to False is useful when defining a cancel or reset button on a page /// that has validators. ////// [ DefaultValue(""), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.WebControl_CommandName), ] public string CommandName { get { string s = (string)ViewState["CommandName"]; return((s == null) ? String.Empty : s); } set { ViewState["CommandName"] = value; } } ///Gets or sets the command associated with a ///propogated in the event along with the /// property. /// [ Bindable(true), DefaultValue(""), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.WebControl_CommandArgument), ] public string CommandArgument { get { string s = (string)ViewState["CommandArgument"]; return((s == null) ? String.Empty : s); } set { ViewState["CommandArgument"] = value; } } #if SITECOUNTERS [ DefaultValue("Button"), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_CounterGroup), ] public String CounterGroup { get { String s = (String)ViewState["CounterGroup"]; return((s == null) ? "Button" : s); } set { ViewState["CounterGroup"] = value; } } [ DefaultValue(""), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_CounterName), ] public String CounterName { get { String s = (String)ViewState["CounterName"]; return((s == null) ? String.Empty : s); } set { ViewState["CounterName"] = value; } } [ DefaultValue(false), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_CountClicks), ] public bool CountClicks { get { object b = ViewState["CountClicks"]; return((b == null) ? false : (bool)b); } set { ViewState["CountClicks"] = value; } } #endif ///Gets or sets the property propogated in /// the ///event with the associated /// property. /// The script that is executed on a client-side click. /// [ DefaultValue(""), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.Button_OnClientClick), ] public virtual string OnClientClick { get { string s = (string)ViewState["OnClientClick"]; if (s == null) { return String.Empty; } return s; } set { ViewState["OnClientClick"] = value; } } [ DefaultValue(""), Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), Themeable(false), UrlProperty("*.aspx"), WebCategory("Behavior"), WebSysDescription(SR.Button_PostBackUrl), ] public virtual string PostBackUrl { get { string s = (string)ViewState["PostBackUrl"]; return s == null? String.Empty : s; } set { ViewState["PostBackUrl"] = value; } } #if SITECOUNTERS [ DefaultValue(-1), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_RowsPerDay), ] public int RowsPerDay { get { Object o = ViewState["RowsPerDay"]; return((o == null) ? -1 : (int) o); } set { if (value == 0) { throw new ArgumentOutOfRangeException("value"); } ViewState["RowsPerDay"] = value; } } [ DefaultValue(""), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_SiteCountersProvider), ] public String SiteCountersProvider { get { String s = (String) ViewState["SiteCountersProvider"]; return((s != null) ? s : String.Empty); } set { ViewState["SiteCountersProvider"] = value; } } #endif ////// [ Bindable(true), Localizable(true), WebCategory("Appearance"), DefaultValue(""), WebSysDescription(SR.Button_Text), ] public string Text { get { string s = (string)ViewState["Text"]; return((s == null) ? String.Empty : s); } set { ViewState["Text"] = value; } } #if SITECOUNTERS [ DefaultValue(true), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_TrackApplicationName), ] public bool TrackApplicationName { get { object b = ViewState["TrackApplicationName"]; return((b == null) ? true : (bool)b); } set { ViewState["TrackApplicationName"] = value; } } [ DefaultValue(true), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_TrackPageUrl), ] public bool TrackPageUrl { get { object b = ViewState["TrackPageUrl"]; return((b == null) ? true : (bool)b); } set { ViewState["TrackPageUrl"] = value; } } #endif ///Gets or sets the text caption displayed on the ///. /// Whether the button should use the client's submit mechanism to implement its /// behavior, or whether it should use the ASP.NET postback mechanism similar /// to LinkButton. By default, it uses the browser's submit mechanism. /// [ DefaultValue(true), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.Button_UseSubmitBehavior), ] public virtual bool UseSubmitBehavior { get { object b = ViewState["UseSubmitBehavior"]; return ((b == null) ? true : (bool)b); } set { ViewState["UseSubmitBehavior"] = value; } } [ DefaultValue(""), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.PostBackControl_ValidationGroup), ] public virtual string ValidationGroup { get { string s = (string)ViewState["ValidationGroup"]; return((s == null) ? String.Empty : s); } set { ViewState["ValidationGroup"] = value; } } ////// [ WebCategory("Action"), WebSysDescription(SR.Button_OnClick) ] public event EventHandler Click { add { Events.AddHandler(EventClick, value); } remove { Events.RemoveHandler(EventClick, value); } } ///Occurs when the ///is clicked. /// [ WebCategory("Action"), WebSysDescription(SR.Button_OnCommand) ] public event CommandEventHandler Command { add { Events.AddHandler(EventCommand, value); } remove { Events.RemoveHandler(EventCommand, value); } } ///Occurs when the ///is clicked. /// /// protected override void AddAttributesToRender(HtmlTextWriter writer) { bool submitButton = UseSubmitBehavior; // Make sure we are in a form tag with runat=server. if (Page != null) { Page.VerifyRenderingInServerForm(this); } if (submitButton) { writer.AddAttribute(HtmlTextWriterAttribute.Type, "submit"); } else { writer.AddAttribute(HtmlTextWriterAttribute.Type, "button"); } PostBackOptions options = GetPostBackOptions(); string uniqueID = UniqueID; // Don't render Name on a button if __doPostBack is posting back to a different control // because Page will register this control as requiring post back notification even though // it's not the target of the postback. If the TargetControl isn't this control, this control's // RaisePostBackEvent should never get called. See VSWhidbey 477095. if (uniqueID != null && (options == null || options.TargetControl == this)) { writer.AddAttribute(HtmlTextWriterAttribute.Name, uniqueID); } writer.AddAttribute(HtmlTextWriterAttribute.Value, Text); // bool effectiveEnabled = IsEnabled; string onClick = String.Empty; if (effectiveEnabled) { // Need to merge the onclick attribute with the OnClientClick // VSWhidbey 111791: Defensively add a ';' in case it is // missing in user customized onClick value above. onClick = Util.EnsureEndWithSemiColon(OnClientClick); if (HasAttributes) { string userOnClick = Attributes["onclick"]; if (userOnClick != null) { onClick += Util.EnsureEndWithSemiColon(userOnClick); Attributes.Remove("onclick"); } } if (Page != null) { string reference = Page.ClientScript.GetPostBackEventReference(options, false); if (reference != null) { onClick = Util.MergeScript(onClick, reference); } } } if (Page != null) { Page.ClientScript.RegisterForEventValidation(options); } if (onClick.Length > 0) { writer.AddAttribute(HtmlTextWriterAttribute.Onclick, onClick); if (EnableLegacyRendering) { writer.AddAttribute("language", "javascript", false); } } if (Enabled && !effectiveEnabled) { // We need to do the cascade effect on the server, because the browser // only renders as disabled, but doesn't disable the functionality. writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled"); } base.AddAttributesToRender(writer); } protected virtual PostBackOptions GetPostBackOptions() { PostBackOptions options = new PostBackOptions(this, String.Empty); options.ClientSubmit = false; if (Page != null) { if (CausesValidation && Page.GetValidators(ValidationGroup).Count > 0) { options.PerformValidation = true; options.ValidationGroup = ValidationGroup; } if (!String.IsNullOrEmpty(PostBackUrl)) { options.ActionUrl = HttpUtility.UrlPathEncode(ResolveClientUrl(PostBackUrl)); } options.ClientSubmit = !UseSubmitBehavior; } return options; } ///Adds the attributes of the ///control to the output stream for rendering /// on the client. /// protected virtual void OnClick(EventArgs e) { EventHandler handler = (EventHandler)Events[EventClick]; if (handler != null) handler(this,e); } ///Raises the ///event of a /// . /// protected virtual void OnCommand(CommandEventArgs e) { CommandEventHandler handler = (CommandEventHandler)Events[EventCommand]; if (handler != null) handler(this,e); // Command events are bubbled up the control heirarchy RaiseBubbleEvent(this, e); } protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); // VSWhidbey 489577 if (Page != null && IsEnabled) { if ((CausesValidation && Page.GetValidators(ValidationGroup).Count > 0) || !String.IsNullOrEmpty(PostBackUrl)) { Page.RegisterWebFormsScript(); } else if (!UseSubmitBehavior) { Page.RegisterPostBackScript(); } } } ///Raises the ///event of a /// . /// /// protected internal override void RenderContents(HtmlTextWriter writer) { // Do not render the children of a button since it does not // make sense to have children of an tag. } ////// /// void IPostBackEventHandler.RaisePostBackEvent(string eventArgument) { RaisePostBackEvent(eventArgument); } ///Raises events for the ////// control on post back. /// /// protected virtual void RaisePostBackEvent(string eventArgument) { ValidateEvent(this.UniqueID, eventArgument); #if SITECOUNTERS SiteCounters siteCounters = Context.SiteCounters; if (siteCounters.Enabled && CountClicks) { String counterName = CounterName; if (counterName.Length == 0) { counterName = ID; } siteCounters.Write(CounterGroup, counterName, SiteCounters.ClickEventText, null, TrackApplicationName, TrackPageUrl, SiteCountersProvider, RowsPerDay); } #endif if (CausesValidation) { Page.Validate(ValidationGroup); } OnClick(EventArgs.Empty); OnCommand(new CommandEventArgs(CommandName, CommandArgument)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Raises events for the ////// control on post back. // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Drawing.Design; using System.Security.Permissions; using System.Web; using System.Web.UI; using System.Web.Util; ////// [ DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + AssemblyRef.SystemDesign), DefaultEvent("Click"), DefaultProperty("Text"), Designer("System.Web.UI.Design.WebControls.ButtonDesigner, " + AssemblyRef.SystemDesign), ToolboxData("<{0}:Button runat=\"server\" Text=\"Button\">{0}:Button>"), SupportsEventValidation ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class Button : WebControl, IButtonControl, IPostBackEventHandler { private static readonly object EventClick = new object(); private static readonly object EventCommand = new object(); ///Represents a Windows button control. ////// public Button() : base(HtmlTextWriterTag.Input) { } ///Initializes a new instance of the ///class. /// [ DefaultValue(true), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.Button_CausesValidation), ] public virtual bool CausesValidation { get { object b = ViewState["CausesValidation"]; return((b == null) ? true : (bool)b); } set { ViewState["CausesValidation"] = value; } } ///Gets or sets whether pressing the button causes page validation to fire. This defaults to True so that when /// using validation controls, the validation state of all controls are updated when the button is clicked, both /// on the client and the server. Setting this to False is useful when defining a cancel or reset button on a page /// that has validators. ////// [ DefaultValue(""), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.WebControl_CommandName), ] public string CommandName { get { string s = (string)ViewState["CommandName"]; return((s == null) ? String.Empty : s); } set { ViewState["CommandName"] = value; } } ///Gets or sets the command associated with a ///propogated in the event along with the /// property. /// [ Bindable(true), DefaultValue(""), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.WebControl_CommandArgument), ] public string CommandArgument { get { string s = (string)ViewState["CommandArgument"]; return((s == null) ? String.Empty : s); } set { ViewState["CommandArgument"] = value; } } #if SITECOUNTERS [ DefaultValue("Button"), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_CounterGroup), ] public String CounterGroup { get { String s = (String)ViewState["CounterGroup"]; return((s == null) ? "Button" : s); } set { ViewState["CounterGroup"] = value; } } [ DefaultValue(""), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_CounterName), ] public String CounterName { get { String s = (String)ViewState["CounterName"]; return((s == null) ? String.Empty : s); } set { ViewState["CounterName"] = value; } } [ DefaultValue(false), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_CountClicks), ] public bool CountClicks { get { object b = ViewState["CountClicks"]; return((b == null) ? false : (bool)b); } set { ViewState["CountClicks"] = value; } } #endif ///Gets or sets the property propogated in /// the ///event with the associated /// property. /// The script that is executed on a client-side click. /// [ DefaultValue(""), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.Button_OnClientClick), ] public virtual string OnClientClick { get { string s = (string)ViewState["OnClientClick"]; if (s == null) { return String.Empty; } return s; } set { ViewState["OnClientClick"] = value; } } [ DefaultValue(""), Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), Themeable(false), UrlProperty("*.aspx"), WebCategory("Behavior"), WebSysDescription(SR.Button_PostBackUrl), ] public virtual string PostBackUrl { get { string s = (string)ViewState["PostBackUrl"]; return s == null? String.Empty : s; } set { ViewState["PostBackUrl"] = value; } } #if SITECOUNTERS [ DefaultValue(-1), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_RowsPerDay), ] public int RowsPerDay { get { Object o = ViewState["RowsPerDay"]; return((o == null) ? -1 : (int) o); } set { if (value == 0) { throw new ArgumentOutOfRangeException("value"); } ViewState["RowsPerDay"] = value; } } [ DefaultValue(""), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_SiteCountersProvider), ] public String SiteCountersProvider { get { String s = (String) ViewState["SiteCountersProvider"]; return((s != null) ? s : String.Empty); } set { ViewState["SiteCountersProvider"] = value; } } #endif ////// [ Bindable(true), Localizable(true), WebCategory("Appearance"), DefaultValue(""), WebSysDescription(SR.Button_Text), ] public string Text { get { string s = (string)ViewState["Text"]; return((s == null) ? String.Empty : s); } set { ViewState["Text"] = value; } } #if SITECOUNTERS [ DefaultValue(true), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_TrackApplicationName), ] public bool TrackApplicationName { get { object b = ViewState["TrackApplicationName"]; return((b == null) ? true : (bool)b); } set { ViewState["TrackApplicationName"] = value; } } [ DefaultValue(true), Themeable(false), WebCategory("SiteCounters"), WebSysDescription(SR.Control_For_SiteCounters_TrackPageUrl), ] public bool TrackPageUrl { get { object b = ViewState["TrackPageUrl"]; return((b == null) ? true : (bool)b); } set { ViewState["TrackPageUrl"] = value; } } #endif ///Gets or sets the text caption displayed on the ///. /// Whether the button should use the client's submit mechanism to implement its /// behavior, or whether it should use the ASP.NET postback mechanism similar /// to LinkButton. By default, it uses the browser's submit mechanism. /// [ DefaultValue(true), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.Button_UseSubmitBehavior), ] public virtual bool UseSubmitBehavior { get { object b = ViewState["UseSubmitBehavior"]; return ((b == null) ? true : (bool)b); } set { ViewState["UseSubmitBehavior"] = value; } } [ DefaultValue(""), Themeable(false), WebCategory("Behavior"), WebSysDescription(SR.PostBackControl_ValidationGroup), ] public virtual string ValidationGroup { get { string s = (string)ViewState["ValidationGroup"]; return((s == null) ? String.Empty : s); } set { ViewState["ValidationGroup"] = value; } } ////// [ WebCategory("Action"), WebSysDescription(SR.Button_OnClick) ] public event EventHandler Click { add { Events.AddHandler(EventClick, value); } remove { Events.RemoveHandler(EventClick, value); } } ///Occurs when the ///is clicked. /// [ WebCategory("Action"), WebSysDescription(SR.Button_OnCommand) ] public event CommandEventHandler Command { add { Events.AddHandler(EventCommand, value); } remove { Events.RemoveHandler(EventCommand, value); } } ///Occurs when the ///is clicked. /// /// protected override void AddAttributesToRender(HtmlTextWriter writer) { bool submitButton = UseSubmitBehavior; // Make sure we are in a form tag with runat=server. if (Page != null) { Page.VerifyRenderingInServerForm(this); } if (submitButton) { writer.AddAttribute(HtmlTextWriterAttribute.Type, "submit"); } else { writer.AddAttribute(HtmlTextWriterAttribute.Type, "button"); } PostBackOptions options = GetPostBackOptions(); string uniqueID = UniqueID; // Don't render Name on a button if __doPostBack is posting back to a different control // because Page will register this control as requiring post back notification even though // it's not the target of the postback. If the TargetControl isn't this control, this control's // RaisePostBackEvent should never get called. See VSWhidbey 477095. if (uniqueID != null && (options == null || options.TargetControl == this)) { writer.AddAttribute(HtmlTextWriterAttribute.Name, uniqueID); } writer.AddAttribute(HtmlTextWriterAttribute.Value, Text); // bool effectiveEnabled = IsEnabled; string onClick = String.Empty; if (effectiveEnabled) { // Need to merge the onclick attribute with the OnClientClick // VSWhidbey 111791: Defensively add a ';' in case it is // missing in user customized onClick value above. onClick = Util.EnsureEndWithSemiColon(OnClientClick); if (HasAttributes) { string userOnClick = Attributes["onclick"]; if (userOnClick != null) { onClick += Util.EnsureEndWithSemiColon(userOnClick); Attributes.Remove("onclick"); } } if (Page != null) { string reference = Page.ClientScript.GetPostBackEventReference(options, false); if (reference != null) { onClick = Util.MergeScript(onClick, reference); } } } if (Page != null) { Page.ClientScript.RegisterForEventValidation(options); } if (onClick.Length > 0) { writer.AddAttribute(HtmlTextWriterAttribute.Onclick, onClick); if (EnableLegacyRendering) { writer.AddAttribute("language", "javascript", false); } } if (Enabled && !effectiveEnabled) { // We need to do the cascade effect on the server, because the browser // only renders as disabled, but doesn't disable the functionality. writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled"); } base.AddAttributesToRender(writer); } protected virtual PostBackOptions GetPostBackOptions() { PostBackOptions options = new PostBackOptions(this, String.Empty); options.ClientSubmit = false; if (Page != null) { if (CausesValidation && Page.GetValidators(ValidationGroup).Count > 0) { options.PerformValidation = true; options.ValidationGroup = ValidationGroup; } if (!String.IsNullOrEmpty(PostBackUrl)) { options.ActionUrl = HttpUtility.UrlPathEncode(ResolveClientUrl(PostBackUrl)); } options.ClientSubmit = !UseSubmitBehavior; } return options; } ///Adds the attributes of the ///control to the output stream for rendering /// on the client. /// protected virtual void OnClick(EventArgs e) { EventHandler handler = (EventHandler)Events[EventClick]; if (handler != null) handler(this,e); } ///Raises the ///event of a /// . /// protected virtual void OnCommand(CommandEventArgs e) { CommandEventHandler handler = (CommandEventHandler)Events[EventCommand]; if (handler != null) handler(this,e); // Command events are bubbled up the control heirarchy RaiseBubbleEvent(this, e); } protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); // VSWhidbey 489577 if (Page != null && IsEnabled) { if ((CausesValidation && Page.GetValidators(ValidationGroup).Count > 0) || !String.IsNullOrEmpty(PostBackUrl)) { Page.RegisterWebFormsScript(); } else if (!UseSubmitBehavior) { Page.RegisterPostBackScript(); } } } ///Raises the ///event of a /// . /// /// protected internal override void RenderContents(HtmlTextWriter writer) { // Do not render the children of a button since it does not // make sense to have children of an tag. } ////// /// void IPostBackEventHandler.RaisePostBackEvent(string eventArgument) { RaisePostBackEvent(eventArgument); } ///Raises events for the ////// control on post back. /// /// protected virtual void RaisePostBackEvent(string eventArgument) { ValidateEvent(this.UniqueID, eventArgument); #if SITECOUNTERS SiteCounters siteCounters = Context.SiteCounters; if (siteCounters.Enabled && CountClicks) { String counterName = CounterName; if (counterName.Length == 0) { counterName = ID; } siteCounters.Write(CounterGroup, counterName, SiteCounters.ClickEventText, null, TrackApplicationName, TrackPageUrl, SiteCountersProvider, RowsPerDay); } #endif if (CausesValidation) { Page.Validate(ValidationGroup); } OnClick(EventArgs.Empty); OnCommand(new CommandEventArgs(CommandName, CommandArgument)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Raises events for the ////// control on post back.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ActivityExecutor.cs
- ParameterElement.cs
- Border.cs
- HttpFileCollectionBase.cs
- CodeCatchClause.cs
- storagemappingitemcollection.viewdictionary.cs
- UrlPath.cs
- MailFileEditor.cs
- Verify.cs
- ToolStripLabel.cs
- DataGridViewToolTip.cs
- CompositeScriptReference.cs
- util.cs
- SpecialTypeDataContract.cs
- LightweightCodeGenerator.cs
- ConfigurationSectionHelper.cs
- EmptyEnumerable.cs
- DbCommandDefinition.cs
- SettingsPropertyValue.cs
- GenericPrincipal.cs
- SqlClientWrapperSmiStream.cs
- PenThreadWorker.cs
- DragCompletedEventArgs.cs
- DataTransferEventArgs.cs
- CodeDomLocalizationProvider.cs
- NavigateEvent.cs
- RawStylusInputCustomDataList.cs
- HostElement.cs
- ExpressionBinding.cs
- GeneralTransform3DGroup.cs
- DateTimeParse.cs
- RadioButtonBaseAdapter.cs
- File.cs
- AutoResetEvent.cs
- DrawingAttributeSerializer.cs
- AuthenticationModuleElement.cs
- PlanCompilerUtil.cs
- BamlCollectionHolder.cs
- TemplateBindingExtensionConverter.cs
- WinEventHandler.cs
- KnownColorTable.cs
- BrowserCapabilitiesCompiler.cs
- TextBoxRenderer.cs
- XMLSchema.cs
- BooleanToVisibilityConverter.cs
- ArraySet.cs
- ProviderUtil.cs
- OrderByBuilder.cs
- ResXDataNode.cs
- ManipulationDelta.cs
- UInt32.cs
- dataprotectionpermissionattribute.cs
- ControlPropertyNameConverter.cs
- SchemaImporter.cs
- QilXmlWriter.cs
- PartialTrustVisibleAssemblyCollection.cs
- WebControlAdapter.cs
- ChannelSinkStacks.cs
- XmlSerializerSection.cs
- SystemPens.cs
- FlowDocument.cs
- SchemaImporterExtension.cs
- Annotation.cs
- Keywords.cs
- ImportDesigner.xaml.cs
- UriTemplateLiteralPathSegment.cs
- JsonMessageEncoderFactory.cs
- Multiply.cs
- CodeCatchClause.cs
- ExpressionBuilder.cs
- FocusManager.cs
- Token.cs
- Deflater.cs
- StringBlob.cs
- Parameter.cs
- ObjectAssociationEndMapping.cs
- VisualTreeUtils.cs
- PasswordTextNavigator.cs
- PointLight.cs
- DragEventArgs.cs
- ChangeTracker.cs
- CharEnumerator.cs
- TableItemProviderWrapper.cs
- DataQuery.cs
- _HTTPDateParse.cs
- PropertyToken.cs
- CapabilitiesPattern.cs
- SystemResourceHost.cs
- EmbeddedMailObject.cs
- HtmlFormWrapper.cs
- PointAnimationUsingKeyFrames.cs
- ImageFormat.cs
- ACL.cs
- FixedSOMImage.cs
- UrlParameterWriter.cs
- RegisteredHiddenField.cs
- OleDbParameterCollection.cs
- DetailsViewInsertEventArgs.cs
- WorkflowDebuggerSteppingAttribute.cs
- TraceData.cs