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
- SiteMapNode.cs
- BrushValueSerializer.cs
- MatrixTransform3D.cs
- UserPreferenceChangingEventArgs.cs
- RoamingStoreFile.cs
- DbParameterHelper.cs
- VectorCollectionConverter.cs
- SessionStateSection.cs
- LoadRetryStrategyFactory.cs
- NavigationProgressEventArgs.cs
- ProcessStartInfo.cs
- translator.cs
- XmlQueryStaticData.cs
- Button.cs
- RuntimeResourceSet.cs
- PerformanceCounter.cs
- Imaging.cs
- PropertyPathConverter.cs
- BooleanFunctions.cs
- _SslStream.cs
- SqlHelper.cs
- WindowsListViewItem.cs
- CqlGenerator.cs
- BitmapEffectOutputConnector.cs
- InputDevice.cs
- SqlCacheDependencySection.cs
- SkipQueryOptionExpression.cs
- SqlServer2KCompatibilityAnnotation.cs
- ControlDesigner.cs
- FactoryId.cs
- DataTransferEventArgs.cs
- XmlDataCollection.cs
- ActivatableWorkflowsQueryResult.cs
- FixedDocumentPaginator.cs
- InstanceOwnerException.cs
- JsonServiceDocumentSerializer.cs
- AuthenticationManager.cs
- HitTestDrawingContextWalker.cs
- HostingEnvironmentWrapper.cs
- TerminateSequence.cs
- MobileCategoryAttribute.cs
- Win32PrintDialog.cs
- InvalidCastException.cs
- SafeHandle.cs
- WebPartConnectionsCloseVerb.cs
- HttpListenerTimeoutManager.cs
- SqlDataSourceWizardForm.cs
- PreviewPageInfo.cs
- Types.cs
- XmlQueryStaticData.cs
- DiscreteKeyFrames.cs
- Trace.cs
- DataSourceHelper.cs
- BasePropertyDescriptor.cs
- HashCryptoHandle.cs
- MenuCommands.cs
- InternalResources.cs
- InternalCache.cs
- DataGridViewCellMouseEventArgs.cs
- AdapterDictionary.cs
- HuffCodec.cs
- CurrentChangedEventManager.cs
- ProcessModelInfo.cs
- LocationUpdates.cs
- GetCryptoTransformRequest.cs
- SocketInformation.cs
- ThreadStaticAttribute.cs
- Page.cs
- SimpleType.cs
- DataException.cs
- FixedFlowMap.cs
- SpanIndex.cs
- PageAsyncTask.cs
- ConfigXmlCDataSection.cs
- SecurityKeyIdentifierClause.cs
- WebPartMovingEventArgs.cs
- UnaryNode.cs
- FileDialogPermission.cs
- RectangleGeometry.cs
- XPathCompileException.cs
- MgmtConfigurationRecord.cs
- ExpressionLexer.cs
- MasterPageBuildProvider.cs
- DataGridViewSelectedCellCollection.cs
- WeakHashtable.cs
- ProgramPublisher.cs
- DataGridRelationshipRow.cs
- PropertyGridCommands.cs
- ScriptResourceInfo.cs
- Matrix.cs
- XPathDescendantIterator.cs
- BrushValueSerializer.cs
- StringOutput.cs
- DocumentPage.cs
- XamlClipboardData.cs
- FlowchartDesigner.xaml.cs
- TdsParser.cs
- TextTreeObjectNode.cs
- Win32SafeHandles.cs
- UserPreferenceChangingEventArgs.cs