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
- XsdDateTime.cs
- ASCIIEncoding.cs
- RouteTable.cs
- SqlDataSourceStatusEventArgs.cs
- ProtocolsConfiguration.cs
- DataSetMappper.cs
- Drawing.cs
- ThreadStaticAttribute.cs
- filewebresponse.cs
- PasswordBox.cs
- TiffBitmapEncoder.cs
- RadioButton.cs
- Version.cs
- ToolStripArrowRenderEventArgs.cs
- MissingMethodException.cs
- Certificate.cs
- Drawing.cs
- XmlDocumentFragment.cs
- AlternationConverter.cs
- ObjectMemberMapping.cs
- XmlDataLoader.cs
- HijriCalendar.cs
- TypeForwardedToAttribute.cs
- Content.cs
- SecurityContext.cs
- WorkflowApplicationException.cs
- RedirectionProxy.cs
- AlternateViewCollection.cs
- Matrix.cs
- SecureStringHasher.cs
- ScrollData.cs
- BaseValidator.cs
- SessionEndingCancelEventArgs.cs
- HttpStreamXmlDictionaryWriter.cs
- _LoggingObject.cs
- WindowsScrollBar.cs
- FormViewInsertEventArgs.cs
- Nodes.cs
- ThemeableAttribute.cs
- SqlRetyper.cs
- SiteMapDataSourceView.cs
- MessageTransmitTraceRecord.cs
- ScriptManagerProxy.cs
- SmtpLoginAuthenticationModule.cs
- ComboBoxItem.cs
- SharedPerformanceCounter.cs
- BitSet.cs
- ApplicationTrust.cs
- EditorAttribute.cs
- mediaclock.cs
- CryptographicAttribute.cs
- DispatchWrapper.cs
- AutoCompleteStringCollection.cs
- TextRenderer.cs
- CollectionViewSource.cs
- BaseDataList.cs
- GridViewColumnHeader.cs
- ColorConverter.cs
- SQLSingleStorage.cs
- BitSet.cs
- Trace.cs
- storepermission.cs
- __TransparentProxy.cs
- ViewEventArgs.cs
- WeakReferenceKey.cs
- UDPClient.cs
- HandlerWithFactory.cs
- ReaderWriterLock.cs
- Peer.cs
- GridItem.cs
- EntityDataSourceSelectedEventArgs.cs
- ParserHooks.cs
- Command.cs
- WsatTransactionInfo.cs
- BitStack.cs
- SatelliteContractVersionAttribute.cs
- InkCanvasInnerCanvas.cs
- EntityCodeGenerator.cs
- DrawingCollection.cs
- DbConnectionPoolGroupProviderInfo.cs
- VectorCollectionValueSerializer.cs
- IPEndPoint.cs
- SystemInfo.cs
- ListCollectionView.cs
- SimpleParser.cs
- EnumType.cs
- ActionMessageFilterTable.cs
- ResourceReferenceExpressionConverter.cs
- ThemeDirectoryCompiler.cs
- XmlNodeReader.cs
- MemberInitExpression.cs
- OleStrCAMarshaler.cs
- DeploymentSectionCache.cs
- GcSettings.cs
- CompilerGeneratedAttribute.cs
- EntityType.cs
- PointCollectionValueSerializer.cs
- SourceChangedEventArgs.cs
- IntSecurity.cs
- HttpStreamXmlDictionaryWriter.cs