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
- CellParaClient.cs
- WmfPlaceableFileHeader.cs
- ApplicationActivator.cs
- GroupQuery.cs
- ProxyAttribute.cs
- _SSPISessionCache.cs
- WizardSideBarListControlItemEventArgs.cs
- LassoSelectionBehavior.cs
- CatchBlock.cs
- DocumentViewer.cs
- FileCodeGroup.cs
- SqlInfoMessageEvent.cs
- TabletDeviceInfo.cs
- DataGridViewCellStyleChangedEventArgs.cs
- LinqToSqlWrapper.cs
- xamlnodes.cs
- System.Data_BID.cs
- MetadataArtifactLoader.cs
- ThreadWorkerController.cs
- AutomationElementCollection.cs
- NullableBoolConverter.cs
- SingleConverter.cs
- SafeLocalAllocation.cs
- UserPreferenceChangingEventArgs.cs
- OneToOneMappingSerializer.cs
- XmlDocumentType.cs
- DataBinder.cs
- NetTcpBindingElement.cs
- NamedPipeTransportElement.cs
- GlobalizationAssembly.cs
- XmlFileEditor.cs
- RSAProtectedConfigurationProvider.cs
- XmlTextReaderImpl.cs
- Mutex.cs
- VerificationAttribute.cs
- GZipDecoder.cs
- BufferedReadStream.cs
- ReflectionTypeLoadException.cs
- RoleManagerSection.cs
- DataSourceXmlAttributeAttribute.cs
- NonBatchDirectoryCompiler.cs
- RowToFieldTransformer.cs
- CommandHelpers.cs
- X509Certificate.cs
- _BasicClient.cs
- DragDrop.cs
- WebPartConnection.cs
- LayoutTableCell.cs
- BaseCollection.cs
- SoapTypeAttribute.cs
- NamespaceMapping.cs
- MailSettingsSection.cs
- RoleGroupCollectionEditor.cs
- __ConsoleStream.cs
- PolicyManager.cs
- Policy.cs
- PropertyMetadata.cs
- DropDownButton.cs
- ClickablePoint.cs
- ExpressionVisitor.cs
- StatusBarPanelClickEvent.cs
- TemplateLookupAction.cs
- TableItemProviderWrapper.cs
- Trace.cs
- OleDbCommand.cs
- GeometryModel3D.cs
- ZipFileInfo.cs
- ExpandedProjectionNode.cs
- DataGridViewAccessibleObject.cs
- SmtpClient.cs
- ListItemCollection.cs
- RijndaelManagedTransform.cs
- Point4D.cs
- _CommandStream.cs
- CodeDirectionExpression.cs
- PrtCap_Public.cs
- PropertyKey.cs
- BitmapEffect.cs
- EndEvent.cs
- SmtpCommands.cs
- ScrollBar.cs
- MouseGestureValueSerializer.cs
- WorkflowMarkupSerializationProvider.cs
- ChtmlCommandAdapter.cs
- ManifestBasedResourceGroveler.cs
- NaturalLanguageHyphenator.cs
- EntryIndex.cs
- PersonalizationProviderHelper.cs
- TextTreeRootNode.cs
- _DisconnectOverlappedAsyncResult.cs
- BoundColumn.cs
- ExpressionNormalizer.cs
- IxmlLineInfo.cs
- SignedInfo.cs
- EventMap.cs
- Visual3DCollection.cs
- DataSourceControlBuilder.cs
- HttpModulesSection.cs
- ConnectionManagementElementCollection.cs
- SmtpMail.cs