Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / HtmlControls / HtmlInputButton.cs / 1 / HtmlInputButton.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
* HtmlInputButton.cs
*
* Copyright (c) 2000 Microsoft Corporation
*/
namespace System.Web.UI.HtmlControls {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Globalization;
using System.Security.Permissions;
///
///
/// The class defines the methods,
/// properties, and events for the HTML Input Button control. This class allows
/// programmatic access to the HTML <input type=
/// button>, <input type=
/// submit>,and <input
/// type=
/// reset> elements on
/// the server.
///
///
[
DefaultEvent("ServerClick"),
SupportsEventValidation,
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class HtmlInputButton : HtmlInputControl, IPostBackEventHandler {
private static readonly object EventServerClick = new object();
/*
* Creates an intrinsic Html INPUT type=button control.
*/
///
/// Initializes a new instance of a class using
/// default values.
///
public HtmlInputButton() : base("button") {
}
/*
* Creates an intrinsic Html INPUT type=button,submit,reset control.
*/
///
/// Initializes a new instance of a class using the
/// specified string.
///
public HtmlInputButton(string type) : base(type) {
}
///
/// 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.
///
[
WebCategory("Behavior"),
DefaultValue(true),
]
public virtual bool CausesValidation {
get {
object b = ViewState["CausesValidation"];
return((b == null) ? true : (bool)b);
}
set {
ViewState["CausesValidation"] = value;
}
}
[
WebCategory("Behavior"),
DefaultValue(""),
WebSysDescription(SR.PostBackControl_ValidationGroup)
]
public virtual string ValidationGroup {
get {
string s = (string)ViewState["ValidationGroup"];
return((s == null) ? String.Empty : s);
}
set {
ViewState["ValidationGroup"] = value;
}
}
///
///
/// Occurs when an HTML Input Button control is clicked on the browser.
///
///
[
WebCategory("Action"),
WebSysDescription(SR.HtmlControl_OnServerClick)
]
public event EventHandler ServerClick {
add {
Events.AddHandler(EventServerClick, value);
}
remove {
Events.RemoveHandler(EventServerClick, value);
}
}
///
protected internal override void OnPreRender(EventArgs e) {
base.OnPreRender(e);
if (Page != null && Events[EventServerClick] != null) {
Page.RegisterPostBackScript();
}
}
/*
* Override to generate postback code for onclick.
*/
///
///
///
protected override void RenderAttributes(HtmlTextWriter writer) {
RenderAttributesInternal(writer);
base.RenderAttributes(writer); // this must come last because of the self-closing /
}
// VSWhidbey 80882: It needs to be overridden by HtmlInputSubmit
internal virtual void RenderAttributesInternal(HtmlTextWriter writer) {
bool submitsProgramatically = Events[EventServerClick] != null;
if (Page != null) {
if (submitsProgramatically) {
Util.WriteOnClickAttribute(
writer, this, false /* submitsAutomatically */, submitsProgramatically,
(CausesValidation && Page.GetValidators(ValidationGroup).Count > 0),
ValidationGroup);
}
else {
Page.ClientScript.RegisterForEventValidation(UniqueID);
}
}
}
///
/// Raises the event.
///
protected virtual void OnServerClick(EventArgs e) {
EventHandler handler = (EventHandler)Events[EventServerClick];
if (handler != null) handler(this, e);
}
/*
* Method of IPostBackEventHandler interface to raise events on post back.
* Button fires an OnServerClick event.
*/
///
///
///
void IPostBackEventHandler.RaisePostBackEvent(string eventArgument) {
RaisePostBackEvent(eventArgument);
}
///
///
///
protected virtual void RaisePostBackEvent(string eventArgument) {
ValidateEvent(UniqueID, eventArgument);
if (CausesValidation) {
Page.Validate(ValidationGroup);
}
OnServerClick(EventArgs.Empty);
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RadioButtonAutomationPeer.cs
- ComponentEvent.cs
- SQLDouble.cs
- SmtpNetworkElement.cs
- Pair.cs
- ContravarianceAdapter.cs
- TextTreeTextBlock.cs
- MemberAssignment.cs
- CodeTypeDeclaration.cs
- LogicalExpr.cs
- M3DUtil.cs
- TextDecorationLocationValidation.cs
- TextSelectionProcessor.cs
- ClockGroup.cs
- OrCondition.cs
- VisualStateChangedEventArgs.cs
- DateTimeConstantAttribute.cs
- XmlReader.cs
- FileLogRecord.cs
- ObjectStateEntry.cs
- ScriptComponentDescriptor.cs
- ClientApiGenerator.cs
- ConditionalExpression.cs
- CompiledXpathExpr.cs
- ListViewItemMouseHoverEvent.cs
- ReadOnlyMetadataCollection.cs
- TransformCollection.cs
- FamilyCollection.cs
- TextViewDesigner.cs
- FileDialog_Vista_Interop.cs
- sqlpipe.cs
- connectionpool.cs
- SafeHGlobalHandleCritical.cs
- ColorDialog.cs
- ManagementOperationWatcher.cs
- ExpressionTable.cs
- CheckBoxStandardAdapter.cs
- KeyboardDevice.cs
- WebPartDisplayModeCollection.cs
- XPathItem.cs
- WebMessageFormatHelper.cs
- _DomainName.cs
- BitmapCache.cs
- TableRowGroup.cs
- CorruptingExceptionCommon.cs
- EntityCommandCompilationException.cs
- UpdatePanel.cs
- ArrayConverter.cs
- TargetControlTypeAttribute.cs
- PropertyValue.cs
- DirectoryInfo.cs
- OleDbDataReader.cs
- QueryStringParameter.cs
- PreloadedPackages.cs
- RequestQueryProcessor.cs
- DataBindingCollection.cs
- XslCompiledTransform.cs
- ListDesigner.cs
- TextTreeNode.cs
- EntityDataSourceWrapperCollection.cs
- HttpCachePolicyElement.cs
- TextRunCache.cs
- DataGridViewColumnCollection.cs
- ToolStripManager.cs
- PointLightBase.cs
- ProfileBuildProvider.cs
- DesignerTransaction.cs
- IPAddress.cs
- arabicshape.cs
- QueryCacheKey.cs
- InternalConfigEventArgs.cs
- SQLInt32Storage.cs
- Schedule.cs
- RichTextBox.cs
- HtmlElement.cs
- TypeExtension.cs
- ThemeInfoAttribute.cs
- DataColumnPropertyDescriptor.cs
- TagPrefixInfo.cs
- TextDecorationLocationValidation.cs
- DurableMessageDispatchInspector.cs
- UriSection.cs
- SessionSwitchEventArgs.cs
- MouseWheelEventArgs.cs
- BaseParser.cs
- WindowsIdentity.cs
- CaseInsensitiveOrdinalStringComparer.cs
- OneOfConst.cs
- InkCanvasSelection.cs
- XmlProcessingInstruction.cs
- EdmProperty.cs
- NamedPipeChannelFactory.cs
- TickBar.cs
- BrowserCapabilitiesFactory.cs
- XmlTextEncoder.cs
- GatewayIPAddressInformationCollection.cs
- ImageMapEventArgs.cs
- PaintValueEventArgs.cs
- InkCanvas.cs
- RadioButtonFlatAdapter.cs