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
- WindowsRegion.cs
- ProfilePropertyNameValidator.cs
- ResXBuildProvider.cs
- MulticastOption.cs
- ObjectFullSpanRewriter.cs
- Button.cs
- ToolboxService.cs
- HtmlToClrEventProxy.cs
- StoreItemCollection.Loader.cs
- QueryOptionExpression.cs
- DiffuseMaterial.cs
- JsonSerializer.cs
- NameValueFileSectionHandler.cs
- XmlDeclaration.cs
- CodePropertyReferenceExpression.cs
- IUnknownConstantAttribute.cs
- StringUtil.cs
- CompilerParameters.cs
- OutputScope.cs
- KeyPressEvent.cs
- MemoryMappedView.cs
- RewritingSimplifier.cs
- FontDialog.cs
- VScrollBar.cs
- TextDecorationCollection.cs
- ADMembershipProvider.cs
- FieldNameLookup.cs
- QuaternionRotation3D.cs
- LinkedList.cs
- ScriptingScriptResourceHandlerSection.cs
- XmlSerializationReader.cs
- AspNetSynchronizationContext.cs
- DataGridViewLinkColumn.cs
- MissingSatelliteAssemblyException.cs
- RadioButtonAutomationPeer.cs
- ServiceContractGenerator.cs
- TogglePattern.cs
- ArraySubsetEnumerator.cs
- EventSetter.cs
- Underline.cs
- OdbcUtils.cs
- DataTable.cs
- AncestorChangedEventArgs.cs
- ConstraintConverter.cs
- ConditionalAttribute.cs
- PingOptions.cs
- hresults.cs
- X509SubjectKeyIdentifierClause.cs
- TextLineResult.cs
- ScriptManagerProxy.cs
- ComponentCollection.cs
- IndexExpression.cs
- NullReferenceException.cs
- TransformerInfoCollection.cs
- GridViewColumnCollectionChangedEventArgs.cs
- DataRowChangeEvent.cs
- ComAwareEventInfo.cs
- BufferBuilder.cs
- SymmetricAlgorithm.cs
- AnnotationDocumentPaginator.cs
- DataGridViewAccessibleObject.cs
- typedescriptorpermissionattribute.cs
- WCFServiceClientProxyGenerator.cs
- StorageBasedPackageProperties.cs
- DefaultParameterValueAttribute.cs
- SplineKeyFrames.cs
- UIElementParagraph.cs
- BaseResourcesBuildProvider.cs
- BitmapData.cs
- XamlBrushSerializer.cs
- JavascriptXmlWriterWrapper.cs
- DataPagerField.cs
- CasesDictionary.cs
- Help.cs
- UserNameSecurityTokenAuthenticator.cs
- LabelAutomationPeer.cs
- EpmCustomContentWriterNodeData.cs
- XPathException.cs
- CompensatableTransactionScopeActivity.cs
- VariantWrapper.cs
- SessionIDManager.cs
- OleDbError.cs
- ObjectDataSourceMethodEventArgs.cs
- CodeGen.cs
- Accessible.cs
- ApplicationContext.cs
- VsPropertyGrid.cs
- SqlExpander.cs
- WebHttpBehavior.cs
- ConnectionPointGlyph.cs
- MissingMemberException.cs
- XmlSerializerVersionAttribute.cs
- Serializer.cs
- SelfIssuedAuthProofToken.cs
- UInt32Storage.cs
- DockingAttribute.cs
- FormViewUpdatedEventArgs.cs
- NavigationPropertyEmitter.cs
- MeasurementDCInfo.cs
- XmlStringTable.cs