Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Adapters / XhtmlAdapters / XhtmlBasicCommandAdapter.cs / 1305376 / XhtmlBasicCommandAdapter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections.Specialized; using System.Security.Permissions; using System.Web; using System.Web.Mobile; using System.Web.UI.MobileControls; #if COMPILING_FOR_SHIPPED_SOURCE namespace System.Web.UI.MobileControls.ShippedAdapterSource.XhtmlAdapters #else namespace System.Web.UI.MobileControls.Adapters.XhtmlAdapters #endif { ///[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] public class XhtmlCommandAdapter : XhtmlControlAdapter { /// protected new Command Control { get { return base.Control as Command; } } public override bool LoadPostData(String key, NameValueCollection data, Object controlPrivateData, out bool dataChanged) { dataChanged = false; // HTML input tags of type image postback with the coordinates // of the click rather than the name of the control. String name = Control.UniqueID; String postX = data[name + ".x"]; String postY = data[name + ".y"]; if (postX != null && postY != null && postX.Length > 0 && postY.Length > 0) { // set dataChannged to cause RaisePostDataChangedEvent() dataChanged = true; return true; } // For other command control, defer to default logic in control. return base.LoadPostData(key, data, controlPrivateData, out dataChanged); } /// public override void Render(XhtmlMobileTextWriter writer) { // Note: Since XHTML Basic and MP do not include the script element, we ignore the // Format==Link attribute as in CHTML. ConditionalClearPendingBreak(writer); string imageUrl = Control.ImageUrl; if (imageUrl != null && imageUrl.Length > 0 && Device.SupportsImageSubmit) { RenderAsInputTypeImage(writer); } else { RenderAsInputTypeSubmit(writer); } } private void RenderAsInputTypeImage(XhtmlMobileTextWriter writer) { ConditionalEnterStyle(writer, Style); writer.WriteBeginTag("input"); writer.WriteAttribute("type", "image"); writer.WriteAttribute("name", Control.UniqueID); writer.WriteAttribute("src", Control.ResolveUrl(Control.ImageUrl), true); writer.WriteAttribute("alt", Control.Text, true); ConditionalRenderClassAttribute(writer); ConditionalRenderCustomAttribute(writer, XhtmlConstants.AccessKeyCustomAttribute); writer.Write("/>"); // ConditionalSetPendingBreak should always be called *before* ConditionalExitStyle. // ConditionalExitStyle may render a block element and clear the pending break. ConditionalSetPendingBreakAfterInline(writer); ConditionalExitStyle(writer, Style); } private void RenderAsInputTypeSubmit(XhtmlMobileTextWriter writer){ ConditionalEnterStyle(writer, Style); writer.WriteBeginTag("input"); writer.WriteAttribute("type", "submit"); writer.WriteAttribute("name", Control.UniqueID); writer.WriteAttribute("value", Control.Text, true); ConditionalRenderClassAttribute(writer); ConditionalRenderCustomAttribute(writer, XhtmlConstants.AccessKeyCustomAttribute); writer.Write("/>"); // ConditionalSetPendingBreak should always be called *before* ConditionalExitStyle. // ConditionalExitStyle may render a block element and clear the pending break. ConditionalSetPendingBreakAfterInline(writer); ConditionalPopPhysicalCssClass(writer); ConditionalExitStyle(writer, Style); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections.Specialized; using System.Security.Permissions; using System.Web; using System.Web.Mobile; using System.Web.UI.MobileControls; #if COMPILING_FOR_SHIPPED_SOURCE namespace System.Web.UI.MobileControls.ShippedAdapterSource.XhtmlAdapters #else namespace System.Web.UI.MobileControls.Adapters.XhtmlAdapters #endif { ///[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] public class XhtmlCommandAdapter : XhtmlControlAdapter { /// protected new Command Control { get { return base.Control as Command; } } public override bool LoadPostData(String key, NameValueCollection data, Object controlPrivateData, out bool dataChanged) { dataChanged = false; // HTML input tags of type image postback with the coordinates // of the click rather than the name of the control. String name = Control.UniqueID; String postX = data[name + ".x"]; String postY = data[name + ".y"]; if (postX != null && postY != null && postX.Length > 0 && postY.Length > 0) { // set dataChannged to cause RaisePostDataChangedEvent() dataChanged = true; return true; } // For other command control, defer to default logic in control. return base.LoadPostData(key, data, controlPrivateData, out dataChanged); } /// public override void Render(XhtmlMobileTextWriter writer) { // Note: Since XHTML Basic and MP do not include the script element, we ignore the // Format==Link attribute as in CHTML. ConditionalClearPendingBreak(writer); string imageUrl = Control.ImageUrl; if (imageUrl != null && imageUrl.Length > 0 && Device.SupportsImageSubmit) { RenderAsInputTypeImage(writer); } else { RenderAsInputTypeSubmit(writer); } } private void RenderAsInputTypeImage(XhtmlMobileTextWriter writer) { ConditionalEnterStyle(writer, Style); writer.WriteBeginTag("input"); writer.WriteAttribute("type", "image"); writer.WriteAttribute("name", Control.UniqueID); writer.WriteAttribute("src", Control.ResolveUrl(Control.ImageUrl), true); writer.WriteAttribute("alt", Control.Text, true); ConditionalRenderClassAttribute(writer); ConditionalRenderCustomAttribute(writer, XhtmlConstants.AccessKeyCustomAttribute); writer.Write("/>"); // ConditionalSetPendingBreak should always be called *before* ConditionalExitStyle. // ConditionalExitStyle may render a block element and clear the pending break. ConditionalSetPendingBreakAfterInline(writer); ConditionalExitStyle(writer, Style); } private void RenderAsInputTypeSubmit(XhtmlMobileTextWriter writer){ ConditionalEnterStyle(writer, Style); writer.WriteBeginTag("input"); writer.WriteAttribute("type", "submit"); writer.WriteAttribute("name", Control.UniqueID); writer.WriteAttribute("value", Control.Text, true); ConditionalRenderClassAttribute(writer); ConditionalRenderCustomAttribute(writer, XhtmlConstants.AccessKeyCustomAttribute); writer.Write("/>"); // ConditionalSetPendingBreak should always be called *before* ConditionalExitStyle. // ConditionalExitStyle may render a block element and clear the pending break. ConditionalSetPendingBreakAfterInline(writer); ConditionalPopPhysicalCssClass(writer); ConditionalExitStyle(writer, Style); } } } // 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
- FigureHelper.cs
- HtmlInputReset.cs
- TextParaClient.cs
- ApplicationDirectory.cs
- ReservationNotFoundException.cs
- LongPath.cs
- GridLength.cs
- XmlRawWriter.cs
- SizeAnimationUsingKeyFrames.cs
- GifBitmapDecoder.cs
- NativeMethodsCLR.cs
- cookieexception.cs
- MetaModel.cs
- BuildProviderAppliesToAttribute.cs
- TextServicesCompartment.cs
- RawKeyboardInputReport.cs
- CreateParams.cs
- LineVisual.cs
- LinqDataSourceStatusEventArgs.cs
- SimpleTextLine.cs
- UnauthorizedAccessException.cs
- ISAPIApplicationHost.cs
- indexingfiltermarshaler.cs
- SiteMapNodeItem.cs
- WinCategoryAttribute.cs
- ProtocolsSection.cs
- SettingsBindableAttribute.cs
- SmiEventSink_DeferedProcessing.cs
- InputProviderSite.cs
- EmptyEnumerator.cs
- EndpointPerformanceCounters.cs
- ImmutableObjectAttribute.cs
- OneOfTypeConst.cs
- OneWayElement.cs
- UDPClient.cs
- DbConnectionInternal.cs
- CollectionBase.cs
- PnrpPermission.cs
- ItemList.cs
- EtwTrace.cs
- RequestStatusBarUpdateEventArgs.cs
- DataProtectionSecurityStateEncoder.cs
- BitmapFrameDecode.cs
- ExtenderHelpers.cs
- RadialGradientBrush.cs
- AttachedAnnotationChangedEventArgs.cs
- DataServiceRequestException.cs
- SetStateEventArgs.cs
- errorpatternmatcher.cs
- ProfileManager.cs
- ViewGenerator.cs
- PasswordRecovery.cs
- MemberNameValidator.cs
- HtmlElement.cs
- _FtpDataStream.cs
- MailDefinition.cs
- RequestCacheManager.cs
- NonValidatingSecurityTokenAuthenticator.cs
- CounterCreationDataCollection.cs
- Matrix3DConverter.cs
- ChtmlCommandAdapter.cs
- SqlUtil.cs
- MetadataArtifactLoaderResource.cs
- XmlUtf8RawTextWriter.cs
- WebConvert.cs
- LinkLabelLinkClickedEvent.cs
- WebPartActionVerb.cs
- PeerNearMe.cs
- RuntimeHelpers.cs
- SHA512.cs
- ContentDesigner.cs
- Asn1IntegerConverter.cs
- Triplet.cs
- HttpDebugHandler.cs
- SqlVisitor.cs
- BuildProviderAppliesToAttribute.cs
- ItemType.cs
- XPathDocumentIterator.cs
- XPathChildIterator.cs
- ProtocolsConfigurationEntry.cs
- VisualStates.cs
- COM2Properties.cs
- PropertyMapper.cs
- ContainsSearchOperator.cs
- PrintPageEvent.cs
- HtmlControl.cs
- DashStyles.cs
- ImageSourceConverter.cs
- DefaultBinder.cs
- VersionedStreamOwner.cs
- HttpModuleActionCollection.cs
- ParallelTimeline.cs
- Odbc32.cs
- TableRow.cs
- DataException.cs
- ProviderBase.cs
- ConnectionInterfaceCollection.cs
- CommandValueSerializer.cs
- _NegotiateClient.cs
- DocumentOutline.cs