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
- IndentedTextWriter.cs
- UsernameTokenFactoryCredential.cs
- LinqDataSource.cs
- WebPartManagerInternals.cs
- ClientSettingsProvider.cs
- Command.cs
- HttpConfigurationSystem.cs
- RC2CryptoServiceProvider.cs
- Task.cs
- MetadataArtifactLoaderFile.cs
- ServiceHostingEnvironment.cs
- SystemIcmpV4Statistics.cs
- ContentPresenter.cs
- ColorConvertedBitmap.cs
- MarkupCompiler.cs
- ContentType.cs
- SmiEventSink.cs
- RecordsAffectedEventArgs.cs
- RenderTargetBitmap.cs
- ReadOnlyDataSourceView.cs
- HotSpotCollection.cs
- _SafeNetHandles.cs
- HostedHttpContext.cs
- HtmlTableCellCollection.cs
- SamlDelegatingWriter.cs
- NullExtension.cs
- EmbeddedMailObject.cs
- Rule.cs
- RepeatButtonAutomationPeer.cs
- AssemblyUtil.cs
- basenumberconverter.cs
- DefaultEventAttribute.cs
- DiscoveryProxy.cs
- OletxDependentTransaction.cs
- ACL.cs
- TemplateParser.cs
- WebBrowserSiteBase.cs
- CursorConverter.cs
- CheckoutException.cs
- FragmentNavigationEventArgs.cs
- MemberRelationshipService.cs
- AnnotationHighlightLayer.cs
- RestHandler.cs
- DbInsertCommandTree.cs
- SettingsBase.cs
- BinaryNode.cs
- EntityContainerEntitySet.cs
- VSWCFServiceContractGenerator.cs
- BezierSegment.cs
- QuotedPairReader.cs
- Scripts.cs
- ScriptControlDescriptor.cs
- BooleanConverter.cs
- _ConnectOverlappedAsyncResult.cs
- ArithmeticException.cs
- _AuthenticationState.cs
- SystemIPInterfaceProperties.cs
- DynamicDocumentPaginator.cs
- StructuralComparisons.cs
- GridViewUpdatedEventArgs.cs
- SqlGatherProducedAliases.cs
- ListViewSortEventArgs.cs
- GlobalizationAssembly.cs
- BuildProviderCollection.cs
- unsafenativemethodstextservices.cs
- ExtensionFile.cs
- BidOverLoads.cs
- PtsHelper.cs
- DataGridViewComboBoxColumn.cs
- PointAnimationBase.cs
- HttpHandlerAction.cs
- ComplexPropertyEntry.cs
- ThreadExceptionEvent.cs
- ListItem.cs
- BaseCodePageEncoding.cs
- LeafCellTreeNode.cs
- New.cs
- ListItemsCollectionEditor.cs
- GPStream.cs
- DBConnection.cs
- Paragraph.cs
- SubpageParagraph.cs
- DataGridViewButtonColumn.cs
- TableRowGroup.cs
- GorillaCodec.cs
- TableItemPattern.cs
- CodeVariableDeclarationStatement.cs
- ChangesetResponse.cs
- JsonReader.cs
- CultureMapper.cs
- Rotation3DAnimation.cs
- NotCondition.cs
- TextTreeDeleteContentUndoUnit.cs
- KnownBoxes.cs
- RouteItem.cs
- LinearKeyFrames.cs
- XmlComplianceUtil.cs
- ScrollProviderWrapper.cs
- HttpSocketManager.cs
- SyntaxCheck.cs