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
- ScriptServiceAttribute.cs
- DynamicPropertyHolder.cs
- Image.cs
- TagPrefixInfo.cs
- MessageHeaderDescriptionCollection.cs
- MdiWindowListStrip.cs
- PrePostDescendentsWalker.cs
- Application.cs
- ListViewGroupConverter.cs
- ReadOnlyDictionary.cs
- ButtonStandardAdapter.cs
- LeaseManager.cs
- Matrix3D.cs
- DataGridViewColumnStateChangedEventArgs.cs
- TileModeValidation.cs
- WebPartAuthorizationEventArgs.cs
- EncryptedXml.cs
- RegistryExceptionHelper.cs
- DataGridViewColumnConverter.cs
- Itemizer.cs
- DbConnectionPoolIdentity.cs
- WebPartConnectionsCancelEventArgs.cs
- EntitySqlQueryBuilder.cs
- DoubleCollectionConverter.cs
- COM2FontConverter.cs
- XMLUtil.cs
- TraceContext.cs
- KeyEvent.cs
- QueryAccessibilityHelpEvent.cs
- BindingList.cs
- EventSourceCreationData.cs
- TextElementEnumerator.cs
- DbProviderFactoriesConfigurationHandler.cs
- OdbcException.cs
- DbDataSourceEnumerator.cs
- CurrentTimeZone.cs
- Psha1DerivedKeyGeneratorHelper.cs
- CapabilitiesState.cs
- ReadOnlyDataSourceView.cs
- ContextMarshalException.cs
- ImageClickEventArgs.cs
- DataGridViewRowsRemovedEventArgs.cs
- DataGridViewTextBoxColumn.cs
- AsymmetricSecurityProtocol.cs
- ClientApiGenerator.cs
- controlskin.cs
- PartialClassGenerationTask.cs
- WebContext.cs
- WebPartMovingEventArgs.cs
- SerializationSectionGroup.cs
- SafeThemeHandle.cs
- SQLDouble.cs
- HitTestParameters3D.cs
- CompareValidator.cs
- DataBoundControlParameterTarget.cs
- SimpleTableProvider.cs
- WmlFormAdapter.cs
- _BaseOverlappedAsyncResult.cs
- TreeViewHitTestInfo.cs
- ManipulationDevice.cs
- EndOfStreamException.cs
- Deserializer.cs
- Debugger.cs
- Model3DGroup.cs
- PageSetupDialog.cs
- PeerObject.cs
- ProxyGenerationError.cs
- ByteStreamMessageEncoder.cs
- InputLanguageProfileNotifySink.cs
- VirtualPathProvider.cs
- CheckBoxStandardAdapter.cs
- FileLevelControlBuilderAttribute.cs
- XmlMessageFormatter.cs
- PrtCap_Base.cs
- ALinqExpressionVisitor.cs
- PerformanceCounterManager.cs
- IfAction.cs
- CodeArrayCreateExpression.cs
- BindableAttribute.cs
- ObjectView.cs
- ViewGenerator.cs
- VarRefManager.cs
- ListViewGroupItemCollection.cs
- AudioException.cs
- WebServiceErrorEvent.cs
- AspCompat.cs
- PageFunction.cs
- _SingleItemRequestCache.cs
- CodeAttributeArgumentCollection.cs
- httpstaticobjectscollection.cs
- CompressEmulationStream.cs
- TreeViewEvent.cs
- ConfigXmlComment.cs
- ConfigXmlCDataSection.cs
- CodePageEncoding.cs
- XmlArrayItemAttributes.cs
- QilParameter.cs
- CodeComment.cs
- PerformanceCounterPermissionEntry.cs
- Profiler.cs