Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Adapters / XhtmlAdapters / XhtmlBasicImageAdapter.cs / 1305376 / XhtmlBasicImageAdapter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Security.Permissions; using System.Web.Mobile; using System.Web.UI.MobileControls; using System.Web.UI.MobileControls.Adapters; #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 XhtmlImageAdapter : XhtmlControlAdapter { /// protected new Image Control { get { return base.Control as Image; } } /// public override void Render(XhtmlMobileTextWriter writer) { string target = Control.NavigateUrl; ConditionalClearPendingBreak(writer); Style style = Style; StyleFilter filter = writer.CurrentStyleClass.GetFilter(style); if ((filter & XhtmlConstants.Layout) != 0) { ConditionalEnterLayout(writer, style); } if(target != null && target.Length > 0) { String cssClass = GetCustomAttributeValue(XhtmlConstants.CssClassCustomAttribute); String accessKey = GetCustomAttributeValue(XhtmlConstants.AccessKeyCustomAttribute); String title = GetCustomAttributeValue(XhtmlConstants.TitleCustomAttribute); RenderBeginLink(writer, target, accessKey, style, cssClass, title); } else{ ConditionalEnterFormat(writer, style); ConditionalRenderOpeningSpanElement(writer); } String controlIU = Control.ImageUrl; if(controlIU == null || controlIU.Length == 0) { writer.WriteEncodedText(Control.AlternateText); } else { RenderImage(writer); } ConditionalSetPendingBreakAfterInline(writer); if(target != null && target.Length > 0) { RenderEndLink(writer); } else { ConditionalRenderClosingSpanElement(writer); ConditionalExitFormat(writer, style); } if ((filter & XhtmlConstants.Layout) != 0) { ConditionalExitLayout(writer, style); } } /// protected virtual void RenderImage(XhtmlMobileTextWriter writer) { String source = Control.ImageUrl; writer.WriteBeginTag("img"); if(source != null && source.Length > 0) { source = Page.Server.UrlPathEncode(Control.ResolveUrl(source.Trim())); writer.WriteAttribute("src", source, true); writer.AddResource(source); } String alternateText = Control.AlternateText; if (alternateText == null || alternateText.Length == 0) { alternateText = " "; // ASURT 143759 and VSWhidbey 78593 } writer.WriteAttribute("alt", alternateText, true); // Review: Html adapter writes border=0 attribute, but don't need this here? writer.Write(" />"); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Security.Permissions; using System.Web.Mobile; using System.Web.UI.MobileControls; using System.Web.UI.MobileControls.Adapters; #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 XhtmlImageAdapter : XhtmlControlAdapter { /// protected new Image Control { get { return base.Control as Image; } } /// public override void Render(XhtmlMobileTextWriter writer) { string target = Control.NavigateUrl; ConditionalClearPendingBreak(writer); Style style = Style; StyleFilter filter = writer.CurrentStyleClass.GetFilter(style); if ((filter & XhtmlConstants.Layout) != 0) { ConditionalEnterLayout(writer, style); } if(target != null && target.Length > 0) { String cssClass = GetCustomAttributeValue(XhtmlConstants.CssClassCustomAttribute); String accessKey = GetCustomAttributeValue(XhtmlConstants.AccessKeyCustomAttribute); String title = GetCustomAttributeValue(XhtmlConstants.TitleCustomAttribute); RenderBeginLink(writer, target, accessKey, style, cssClass, title); } else{ ConditionalEnterFormat(writer, style); ConditionalRenderOpeningSpanElement(writer); } String controlIU = Control.ImageUrl; if(controlIU == null || controlIU.Length == 0) { writer.WriteEncodedText(Control.AlternateText); } else { RenderImage(writer); } ConditionalSetPendingBreakAfterInline(writer); if(target != null && target.Length > 0) { RenderEndLink(writer); } else { ConditionalRenderClosingSpanElement(writer); ConditionalExitFormat(writer, style); } if ((filter & XhtmlConstants.Layout) != 0) { ConditionalExitLayout(writer, style); } } /// protected virtual void RenderImage(XhtmlMobileTextWriter writer) { String source = Control.ImageUrl; writer.WriteBeginTag("img"); if(source != null && source.Length > 0) { source = Page.Server.UrlPathEncode(Control.ResolveUrl(source.Trim())); writer.WriteAttribute("src", source, true); writer.AddResource(source); } String alternateText = Control.AlternateText; if (alternateText == null || alternateText.Length == 0) { alternateText = " "; // ASURT 143759 and VSWhidbey 78593 } writer.WriteAttribute("alt", alternateText, true); // Review: Html adapter writes border=0 attribute, but don't need this here? writer.Write(" />"); } } } // 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
- SineEase.cs
- DrawListViewColumnHeaderEventArgs.cs
- CultureMapper.cs
- ReliableMessagingVersion.cs
- ElementHostPropertyMap.cs
- SystemIPGlobalProperties.cs
- RelatedImageListAttribute.cs
- SelectingProviderEventArgs.cs
- ControlParameter.cs
- TransformerInfoCollection.cs
- ReadOnlyPropertyMetadata.cs
- TextParaLineResult.cs
- InternalDispatchObject.cs
- AnonymousIdentificationModule.cs
- IDispatchConstantAttribute.cs
- XmlRootAttribute.cs
- AnonymousIdentificationSection.cs
- Control.cs
- RSACryptoServiceProvider.cs
- IdnMapping.cs
- DynamicResourceExtensionConverter.cs
- TextTreeTextBlock.cs
- Knowncolors.cs
- RedirectionProxy.cs
- ToolboxComponentsCreatingEventArgs.cs
- PropertyValueUIItem.cs
- RuntimeHandles.cs
- Calendar.cs
- ProgressBarAutomationPeer.cs
- TypedTableHandler.cs
- XmlSiteMapProvider.cs
- XmlBindingWorker.cs
- HttpServerVarsCollection.cs
- TextRunTypographyProperties.cs
- ASCIIEncoding.cs
- SortedDictionary.cs
- TextTreeUndoUnit.cs
- BulletChrome.cs
- MdImport.cs
- HybridDictionary.cs
- XmlSchemaElement.cs
- DependsOnAttribute.cs
- FilterableAttribute.cs
- DataGridViewRowPrePaintEventArgs.cs
- PointAnimationUsingKeyFrames.cs
- RequiredFieldValidator.cs
- Mappings.cs
- PagedDataSource.cs
- WebErrorHandler.cs
- MenuItemAutomationPeer.cs
- TiffBitmapDecoder.cs
- TransactionManagerProxy.cs
- EventHandlersStore.cs
- TrackBarRenderer.cs
- WebPartDescriptionCollection.cs
- TriggerActionCollection.cs
- CodeNamespace.cs
- UInt16Converter.cs
- DoubleMinMaxAggregationOperator.cs
- pingexception.cs
- PrimitiveXmlSerializers.cs
- EditorZoneDesigner.cs
- SupportedAddressingMode.cs
- TransactedReceiveData.cs
- StyleCollection.cs
- ProcessModuleCollection.cs
- InfoCardTraceRecord.cs
- RelatedPropertyManager.cs
- HashCodeCombiner.cs
- UnknownBitmapDecoder.cs
- VirtualPathProvider.cs
- EastAsianLunisolarCalendar.cs
- HtmlButton.cs
- WindowsAuthenticationModule.cs
- MoveSizeWinEventHandler.cs
- DataFieldConverter.cs
- AuthorizationSection.cs
- SmiEventStream.cs
- CopyNodeSetAction.cs
- DesignerVerb.cs
- DummyDataSource.cs
- formatter.cs
- GridViewCellAutomationPeer.cs
- ObjectViewFactory.cs
- Normalization.cs
- _ConnectOverlappedAsyncResult.cs
- LOSFormatter.cs
- ServiceHostFactory.cs
- MatrixAnimationUsingKeyFrames.cs
- URLIdentityPermission.cs
- RoleGroup.cs
- InternalResources.cs
- UserControl.cs
- Int64Converter.cs
- StorageInfo.cs
- FontDifferentiator.cs
- EntitySetBaseCollection.cs
- CommandBinding.cs
- ArrayElementGridEntry.cs
- RenderingEventArgs.cs