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
- AppDomainManager.cs
- PagerSettings.cs
- TextCollapsingProperties.cs
- Run.cs
- MeshGeometry3D.cs
- CompilerGeneratedAttribute.cs
- DataBindingHandlerAttribute.cs
- CompleteWizardStep.cs
- AspProxy.cs
- GetWinFXPath.cs
- ColumnMapTranslator.cs
- CustomSignedXml.cs
- BaseParaClient.cs
- GC.cs
- InvalidCommandTreeException.cs
- SqlTrackingService.cs
- Scene3D.cs
- UnSafeCharBuffer.cs
- IgnoreFileBuildProvider.cs
- DataControlFieldTypeEditor.cs
- UIPermission.cs
- WarningException.cs
- ListBox.cs
- WpfGeneratedKnownProperties.cs
- WhitespaceRule.cs
- ByteConverter.cs
- TimelineGroup.cs
- OneWayBindingElement.cs
- DescriptionAttribute.cs
- WebPart.cs
- TaskResultSetter.cs
- DelegateCompletionCallbackWrapper.cs
- NameValuePermission.cs
- FunctionNode.cs
- ArrayList.cs
- ConfigurationSectionGroupCollection.cs
- Cloud.cs
- EntitySqlQueryBuilder.cs
- CodeMemberField.cs
- MessagePropertyDescription.cs
- Symbol.cs
- SchemaNotation.cs
- ServiceDocument.cs
- RuntimeEnvironment.cs
- DataServiceBehavior.cs
- DiscoveryMessageSequenceGenerator.cs
- _ScatterGatherBuffers.cs
- BasicHttpSecurity.cs
- ScriptControlDescriptor.cs
- SystemColors.cs
- BitmapEffectrendercontext.cs
- XmlSerializer.cs
- MultiSelectRootGridEntry.cs
- DataSourceControlBuilder.cs
- ContentElement.cs
- DataServiceSaveChangesEventArgs.cs
- TextMetrics.cs
- OutputScopeManager.cs
- GACIdentityPermission.cs
- SqlDataSourceCommandParser.cs
- CryptoApi.cs
- TabControlCancelEvent.cs
- LogicalChannel.cs
- IListConverters.cs
- PropertyEmitter.cs
- InputBuffer.cs
- SpecialNameAttribute.cs
- HierarchicalDataSourceControl.cs
- TTSEngineTypes.cs
- EditCommandColumn.cs
- MediaContext.cs
- MatrixAnimationBase.cs
- UnhandledExceptionEventArgs.cs
- XmlUtf8RawTextWriter.cs
- RuleSettings.cs
- WebPartAuthorizationEventArgs.cs
- DesignerLoader.cs
- SqlProcedureAttribute.cs
- StylusOverProperty.cs
- CodeNamespaceImport.cs
- NamespaceEmitter.cs
- UserInitiatedRoutedEventPermission.cs
- PageCatalogPart.cs
- RsaSecurityTokenAuthenticator.cs
- ToolCreatedEventArgs.cs
- SelectionItemPatternIdentifiers.cs
- InlinedAggregationOperatorEnumerator.cs
- SqlDataSourceCommandEventArgs.cs
- FileSystemWatcher.cs
- DefaultShape.cs
- XmlSchemaSimpleContentRestriction.cs
- BitmapEffectGeneralTransform.cs
- PermissionSetTriple.cs
- ClipboardData.cs
- DbConnectionOptions.cs
- WindowsRichEditRange.cs
- TrackingLocation.cs
- BitmapVisualManager.cs
- QEncodedStream.cs
- XmlNodeReader.cs