Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Adapters / HtmlPhoneCallAdapter.cs / 1305376 / HtmlPhoneCallAdapter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Globalization; using System.IO; using System.Web; using System.Web.UI; using System.Web.UI.MobileControls; using System.Drawing; using System.Security.Permissions; #if COMPILING_FOR_SHIPPED_SOURCE namespace System.Web.UI.MobileControls.ShippedAdapterSource #else namespace System.Web.UI.MobileControls.Adapters #endif { /* * HtmlPhoneCallAdapter class. * * Copyright (c) 2000 Microsoft Corporation */ ///[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 HtmlPhoneCallAdapter : HtmlControlAdapter { /// protected new PhoneCall Control { get { return (PhoneCall)base.Control; } } /// public override void Render(HtmlMobileTextWriter writer) { writer.EnterStyle(Style); if (Device.CanInitiateVoiceCall) { String text = Control.Text; String phoneNumber = Control.PhoneNumber; if (String.IsNullOrEmpty(text)) { text = phoneNumber; } writer.WriteBeginTag("a"); writer.Write(" href=\"tel:"); foreach (char ch in phoneNumber) { if (ch >= '0' && ch <= '9' || ch == '#' || ch=='+') { writer.Write(ch); } } writer.Write("\""); AddAttributes(writer); writer.Write(">"); writer.WriteText(text, true); writer.WriteEndTag("a"); } else { // Format the text string based on properties String text = String.Format(CultureInfo.CurrentCulture, Control.AlternateFormat, Control.Text, Control.PhoneNumber); String url = Control.AlternateUrl; // If URI specified, create a link. Otherwise, only text is displayed. if (!String.IsNullOrEmpty(url)) { RenderBeginLink(writer, url); writer.WriteText(text, true); RenderEndLink(writer); } else { writer.WriteText(text, true); } } writer.ExitStyle(Style, Control.BreakAfter); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Globalization; using System.IO; using System.Web; using System.Web.UI; using System.Web.UI.MobileControls; using System.Drawing; using System.Security.Permissions; #if COMPILING_FOR_SHIPPED_SOURCE namespace System.Web.UI.MobileControls.ShippedAdapterSource #else namespace System.Web.UI.MobileControls.Adapters #endif { /* * HtmlPhoneCallAdapter class. * * Copyright (c) 2000 Microsoft Corporation */ ///[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 HtmlPhoneCallAdapter : HtmlControlAdapter { /// protected new PhoneCall Control { get { return (PhoneCall)base.Control; } } /// public override void Render(HtmlMobileTextWriter writer) { writer.EnterStyle(Style); if (Device.CanInitiateVoiceCall) { String text = Control.Text; String phoneNumber = Control.PhoneNumber; if (String.IsNullOrEmpty(text)) { text = phoneNumber; } writer.WriteBeginTag("a"); writer.Write(" href=\"tel:"); foreach (char ch in phoneNumber) { if (ch >= '0' && ch <= '9' || ch == '#' || ch=='+') { writer.Write(ch); } } writer.Write("\""); AddAttributes(writer); writer.Write(">"); writer.WriteText(text, true); writer.WriteEndTag("a"); } else { // Format the text string based on properties String text = String.Format(CultureInfo.CurrentCulture, Control.AlternateFormat, Control.Text, Control.PhoneNumber); String url = Control.AlternateUrl; // If URI specified, create a link. Otherwise, only text is displayed. if (!String.IsNullOrEmpty(url)) { RenderBeginLink(writer, url); writer.WriteText(text, true); RenderEndLink(writer); } else { writer.WriteText(text, true); } } writer.ExitStyle(Style, Control.BreakAfter); } } } // 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
- ExecutedRoutedEventArgs.cs
- TrustLevel.cs
- Pkcs9Attribute.cs
- DataSourceXmlSerializer.cs
- StrokeFIndices.cs
- ListViewDeleteEventArgs.cs
- WebPartsPersonalization.cs
- OraclePermission.cs
- PartialTrustHelpers.cs
- DataControlButton.cs
- DataDocumentXPathNavigator.cs
- CompositeCollection.cs
- MultiDataTrigger.cs
- AssemblyCollection.cs
- MissingFieldException.cs
- AnonymousIdentificationModule.cs
- BaseDataListPage.cs
- Win32SafeHandles.cs
- FormClosingEvent.cs
- webproxy.cs
- DataGridRow.cs
- NodeFunctions.cs
- SoapExtensionReflector.cs
- HtmlHead.cs
- SafeLibraryHandle.cs
- SecurityDocument.cs
- MulticastOption.cs
- AutomationPropertyInfo.cs
- HttpServerChannel.cs
- PeerApplication.cs
- EntityDataSourceReferenceGroup.cs
- TextRange.cs
- ItemsControlAutomationPeer.cs
- ExpandableObjectConverter.cs
- Utilities.cs
- SettingsBase.cs
- SoapAttributeAttribute.cs
- FormatConvertedBitmap.cs
- OperationSelectorBehavior.cs
- OleDbMetaDataFactory.cs
- SortDescription.cs
- TemplatingOptionsDialog.cs
- FrameworkContentElementAutomationPeer.cs
- DataConnectionHelper.cs
- ContainerControl.cs
- TextTreeUndo.cs
- ColumnReorderedEventArgs.cs
- PtsContext.cs
- UnsafeNativeMethods.cs
- ConditionBrowserDialog.cs
- ServiceDescriptions.cs
- MetadataCacheItem.cs
- AdornerHitTestResult.cs
- CodeIdentifiers.cs
- ContextMenuService.cs
- StringDictionaryEditor.cs
- PolygonHotSpot.cs
- InfiniteTimeSpanConverter.cs
- StylusPointPropertyInfoDefaults.cs
- HelpOperationInvoker.cs
- HScrollBar.cs
- DataGridViewToolTip.cs
- ZipIORawDataFileBlock.cs
- WindowAutomationPeer.cs
- Atom10FormatterFactory.cs
- DbConnectionPoolGroupProviderInfo.cs
- EditingMode.cs
- BmpBitmapDecoder.cs
- _TransmitFileOverlappedAsyncResult.cs
- DataPagerFieldCollection.cs
- UIAgentAsyncParams.cs
- VisemeEventArgs.cs
- PointCollection.cs
- PersistencePipeline.cs
- ObjectCacheSettings.cs
- HtmlImage.cs
- ManagedFilter.cs
- ImmutableObjectAttribute.cs
- TextEditorContextMenu.cs
- EntitySqlQueryCacheEntry.cs
- StatusBar.cs
- WebPartManagerInternals.cs
- SettingsPropertyWrongTypeException.cs
- MenuItem.cs
- LayoutDump.cs
- MethodSignatureGenerator.cs
- CacheDependency.cs
- MetafileEditor.cs
- XmlBinaryReader.cs
- EncodingDataItem.cs
- DockingAttribute.cs
- DeclarativeConditionsCollection.cs
- XmlWhitespace.cs
- DetailsViewUpdateEventArgs.cs
- SpellCheck.cs
- SmtpNetworkElement.cs
- CodeDirectionExpression.cs
- FilteredAttributeCollection.cs
- UntrustedRecipientException.cs
- NonNullItemCollection.cs