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
- CodeDelegateCreateExpression.cs
- ToolBar.cs
- WebScriptMetadataMessageEncoderFactory.cs
- _HeaderInfoTable.cs
- RowBinding.cs
- SecUtil.cs
- EventDescriptorCollection.cs
- DataGridViewCellMouseEventArgs.cs
- TimeoutTimer.cs
- DictionaryEntry.cs
- SoapHeaders.cs
- XmlSerializationGeneratedCode.cs
- SendMailErrorEventArgs.cs
- TemplateField.cs
- GridViewDeleteEventArgs.cs
- WindowsToolbarAsMenu.cs
- SynchronizationContext.cs
- EncoderBestFitFallback.cs
- PresentationAppDomainManager.cs
- LightweightCodeGenerator.cs
- SqlRewriteScalarSubqueries.cs
- CryptoKeySecurity.cs
- DataFieldEditor.cs
- AcceleratedTokenAuthenticator.cs
- ListDictionaryInternal.cs
- MenuItemStyleCollectionEditor.cs
- DirtyTextRange.cs
- GeometryCollection.cs
- TextSchema.cs
- XmlSchemaException.cs
- HostingEnvironmentException.cs
- Parser.cs
- DatatypeImplementation.cs
- LocationSectionRecord.cs
- NamespaceDisplay.xaml.cs
- VirtualPathProvider.cs
- StringFreezingAttribute.cs
- XmlSchemaGroup.cs
- NameSpaceExtractor.cs
- ZipIOFileItemStream.cs
- DropShadowBitmapEffect.cs
- ButtonBase.cs
- UidManager.cs
- ColumnWidthChangingEvent.cs
- SetterBaseCollection.cs
- OleDbInfoMessageEvent.cs
- PackageProperties.cs
- ProcessModule.cs
- LicFileLicenseProvider.cs
- VirtualizedCellInfoCollection.cs
- Drawing.cs
- DoubleMinMaxAggregationOperator.cs
- ArrayExtension.cs
- XXXInfos.cs
- FileRecordSequenceHelper.cs
- SymbolEqualComparer.cs
- Parameter.cs
- Timer.cs
- BufferedOutputStream.cs
- ObjectStateFormatter.cs
- DbDataSourceEnumerator.cs
- TextDecorationUnitValidation.cs
- IdentityModelStringsVersion1.cs
- ProtocolsSection.cs
- CheckBoxList.cs
- FixedHyperLink.cs
- MetadataItem_Static.cs
- IQueryable.cs
- DurationConverter.cs
- DBNull.cs
- ProfileEventArgs.cs
- ParameterToken.cs
- CustomTypeDescriptor.cs
- UpdateProgress.cs
- HttpProcessUtility.cs
- ScriptingSectionGroup.cs
- EventPropertyMap.cs
- FontInfo.cs
- FixUp.cs
- DataGridViewCellCollection.cs
- ScriptingWebServicesSectionGroup.cs
- SoundPlayerAction.cs
- LicenseProviderAttribute.cs
- SspiHelper.cs
- SmiConnection.cs
- ImageSource.cs
- RegisteredHiddenField.cs
- Timer.cs
- ServiceManager.cs
- EventProviderWriter.cs
- ToolStripContainer.cs
- ColumnClickEvent.cs
- HtmlMeta.cs
- RemotingHelper.cs
- InvocationExpression.cs
- SBCSCodePageEncoding.cs
- SpStreamWrapper.cs
- XNodeValidator.cs
- DataViewListener.cs
- BeginStoryboard.cs