Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / PhoneCall.cs / 1305376 / PhoneCall.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Drawing;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.Design.WebControls;
using System.Web.UI.HtmlControls;
using System.Security.Permissions;
namespace System.Web.UI.MobileControls
{
/*
* Mobile PhoneCall class.
* The PhoneCall control is for initiating a voice call on a cell phone.
*
* Copyright (c) 2000 Microsoft Corporation
*/
///
[
DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + AssemblyRef.SystemDesign),
DefaultProperty("Text"),
Designer(typeof(System.Web.UI.Design.MobileControls.PhoneCallDesigner)),
DesignerAdapter(typeof(System.Web.UI.Design.MobileControls.Adapters.DesignerLabelAdapter)),
ToolboxData("<{0}:PhoneCall runat=\"server\">PhoneCall{0}:PhoneCall>"),
ToolboxItem("System.Web.UI.Design.WebControlToolboxItem, " + AssemblyRef.SystemDesign)
]
[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 PhoneCall : TextControl, IPostBackEventHandler
{
///
[
Bindable(true),
DefaultValue(""),
MobileCategory(SR.Category_Navigation),
MobileSysDescription(SR.PhoneCall_PhoneNumber)
]
public String PhoneNumber
{
get
{
String s = (String) ViewState["PhoneNumber"];
return((s != null) ? s : String.Empty);
}
set
{
const String PhoneNumberFormat = "[\\+#]?[ \\d\\(\\)\\.-]*\\d[ \\d\\(\\)\\.-]*";
// Empty string is the default value, no need to check
// (same as null)
if (!String.IsNullOrEmpty(value)) {
// phone number format checking using RegularExpression
Match match = Regex.Match(value, PhoneNumberFormat);
// we are looking for an exact match, not just a search hit
if (!match.Success || match.Index != 0 ||
match.Length != value.Length)
{
throw new ArgumentException(
SR.GetString(SR.PhoneCall_InvalidPhoneNumberFormat,
"PhoneNumber", value));
}
}
ViewState["PhoneNumber"] = value;
}
}
///
[
Bindable(true),
DefaultValue("{0} {1}"),
MobileCategory(SR.Category_Behavior),
MobileSysDescription(SR.PhoneCall_AlternateFormat)
]
public String AlternateFormat
{
get
{
String s = (String) ViewState["AlternateFormat"];
return((s != null) ? s : "{0} {1}");
}
set
{
ViewState["AlternateFormat"] = value;
}
}
///
[
Bindable(true),
DefaultValue(""),
MobileCategory(SR.Category_Navigation),
MobileSysDescription(SR.PhoneCall_AlternateUrl),
TypeConverter(typeof(System.Web.UI.Design.MobileControls.Converters.NavigateUrlConverter)),
]
public String AlternateUrl
{
get
{
String s = (String) ViewState["AlternateUrl"];
return((s != null) ? s : String.Empty);
}
set
{
ViewState["AlternateUrl"] = value;
}
}
///
[
Bindable(true),
DefaultValue(""),
MobileCategory(SR.Category_Behavior),
MobileSysDescription(SR.PhoneCall_SoftkeyLabel)
]
public String SoftkeyLabel
{
get
{
String s = (String) ViewState["Softkeylabel"];
return((s != null) ? s : String.Empty);
}
set
{
ViewState["Softkeylabel"] = value;
}
}
///
protected void RaisePostBackEvent(String argument)
{
MobilePage.ActiveForm = MobilePage.GetForm(argument);
}
///
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
Debug.Assert(PhoneNumber != null);
if (PhoneNumber.Length == 0)
{
throw new ArgumentException(
SR.GetString(SR.PhoneCall_EmptyPhoneNumber, ID));
}
}
///
public override void AddLinkedForms(IList linkedForms)
{
String target = AlternateUrl;
String prefix = Constants.FormIDPrefix;
if (target.StartsWith(prefix, StringComparison.Ordinal))
{
String targetID = target.Substring(prefix.Length);
Form form = ResolveFormReference(targetID);
if (form != null && !form.HasActivateHandler())
{
linkedForms.Add(form);
}
}
}
#region IPostBackEventHandler implementation
void IPostBackEventHandler.RaisePostBackEvent(String eventArgument) {
RaisePostBackEvent(eventArgument);
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Drawing;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.Design.WebControls;
using System.Web.UI.HtmlControls;
using System.Security.Permissions;
namespace System.Web.UI.MobileControls
{
/*
* Mobile PhoneCall class.
* The PhoneCall control is for initiating a voice call on a cell phone.
*
* Copyright (c) 2000 Microsoft Corporation
*/
///
[
DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + AssemblyRef.SystemDesign),
DefaultProperty("Text"),
Designer(typeof(System.Web.UI.Design.MobileControls.PhoneCallDesigner)),
DesignerAdapter(typeof(System.Web.UI.Design.MobileControls.Adapters.DesignerLabelAdapter)),
ToolboxData("<{0}:PhoneCall runat=\"server\">PhoneCall{0}:PhoneCall>"),
ToolboxItem("System.Web.UI.Design.WebControlToolboxItem, " + AssemblyRef.SystemDesign)
]
[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 PhoneCall : TextControl, IPostBackEventHandler
{
///
[
Bindable(true),
DefaultValue(""),
MobileCategory(SR.Category_Navigation),
MobileSysDescription(SR.PhoneCall_PhoneNumber)
]
public String PhoneNumber
{
get
{
String s = (String) ViewState["PhoneNumber"];
return((s != null) ? s : String.Empty);
}
set
{
const String PhoneNumberFormat = "[\\+#]?[ \\d\\(\\)\\.-]*\\d[ \\d\\(\\)\\.-]*";
// Empty string is the default value, no need to check
// (same as null)
if (!String.IsNullOrEmpty(value)) {
// phone number format checking using RegularExpression
Match match = Regex.Match(value, PhoneNumberFormat);
// we are looking for an exact match, not just a search hit
if (!match.Success || match.Index != 0 ||
match.Length != value.Length)
{
throw new ArgumentException(
SR.GetString(SR.PhoneCall_InvalidPhoneNumberFormat,
"PhoneNumber", value));
}
}
ViewState["PhoneNumber"] = value;
}
}
///
[
Bindable(true),
DefaultValue("{0} {1}"),
MobileCategory(SR.Category_Behavior),
MobileSysDescription(SR.PhoneCall_AlternateFormat)
]
public String AlternateFormat
{
get
{
String s = (String) ViewState["AlternateFormat"];
return((s != null) ? s : "{0} {1}");
}
set
{
ViewState["AlternateFormat"] = value;
}
}
///
[
Bindable(true),
DefaultValue(""),
MobileCategory(SR.Category_Navigation),
MobileSysDescription(SR.PhoneCall_AlternateUrl),
TypeConverter(typeof(System.Web.UI.Design.MobileControls.Converters.NavigateUrlConverter)),
]
public String AlternateUrl
{
get
{
String s = (String) ViewState["AlternateUrl"];
return((s != null) ? s : String.Empty);
}
set
{
ViewState["AlternateUrl"] = value;
}
}
///
[
Bindable(true),
DefaultValue(""),
MobileCategory(SR.Category_Behavior),
MobileSysDescription(SR.PhoneCall_SoftkeyLabel)
]
public String SoftkeyLabel
{
get
{
String s = (String) ViewState["Softkeylabel"];
return((s != null) ? s : String.Empty);
}
set
{
ViewState["Softkeylabel"] = value;
}
}
///
protected void RaisePostBackEvent(String argument)
{
MobilePage.ActiveForm = MobilePage.GetForm(argument);
}
///
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
Debug.Assert(PhoneNumber != null);
if (PhoneNumber.Length == 0)
{
throw new ArgumentException(
SR.GetString(SR.PhoneCall_EmptyPhoneNumber, ID));
}
}
///
public override void AddLinkedForms(IList linkedForms)
{
String target = AlternateUrl;
String prefix = Constants.FormIDPrefix;
if (target.StartsWith(prefix, StringComparison.Ordinal))
{
String targetID = target.Substring(prefix.Length);
Form form = ResolveFormReference(targetID);
if (form != null && !form.HasActivateHandler())
{
linkedForms.Add(form);
}
}
}
#region IPostBackEventHandler implementation
void IPostBackEventHandler.RaisePostBackEvent(String eventArgument) {
RaisePostBackEvent(eventArgument);
}
#endregion
}
}
// 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
- DocumentPageView.cs
- PeerNameRecordCollection.cs
- TypeContext.cs
- TreeNodeCollectionEditor.cs
- UserNamePasswordValidator.cs
- WindowsListViewItem.cs
- DbCommandTree.cs
- Schema.cs
- XmlSerializerAssemblyAttribute.cs
- PropertyInfo.cs
- SafeNativeMethods.cs
- AutomationPropertyInfo.cs
- RectangleF.cs
- ProgressBarRenderer.cs
- DataGridViewSortCompareEventArgs.cs
- PrivateFontCollection.cs
- DiscoveryCallbackBehavior.cs
- Geometry3D.cs
- ProbeMatchesCD1.cs
- SmiRecordBuffer.cs
- SynchronizedInputPattern.cs
- Int32Storage.cs
- HttpCookie.cs
- ScrollPattern.cs
- DbTransaction.cs
- Quaternion.cs
- ScrollProviderWrapper.cs
- PropertyTabAttribute.cs
- SmtpDigestAuthenticationModule.cs
- ProxyGenerationError.cs
- BufferedGraphicsManager.cs
- MatrixCamera.cs
- TemplateKey.cs
- HttpProfileGroupBase.cs
- BeginStoryboard.cs
- WsdlInspector.cs
- Calendar.cs
- SwitchAttribute.cs
- TextElementEnumerator.cs
- GuidTagList.cs
- Zone.cs
- relpropertyhelper.cs
- _DigestClient.cs
- CopyAction.cs
- DataGridViewRowsRemovedEventArgs.cs
- BinaryObjectReader.cs
- TableProviderWrapper.cs
- ConcurrentDictionary.cs
- MaskedTextBoxDesignerActionList.cs
- Inline.cs
- XmlSchemaGroupRef.cs
- WebPartTransformerCollection.cs
- ItemList.cs
- WaveHeader.cs
- SimpleType.cs
- OdbcEnvironment.cs
- InputMethodStateTypeInfo.cs
- ObjectDataSource.cs
- CharacterBuffer.cs
- ItemList.cs
- SqlDelegatedTransaction.cs
- XmlUTF8TextWriter.cs
- DataGridViewCellParsingEventArgs.cs
- Comparer.cs
- XmlQualifiedName.cs
- WorkflowServiceBehavior.cs
- TemplateBaseAction.cs
- FunctionNode.cs
- WhileDesigner.cs
- XmlKeywords.cs
- VideoDrawing.cs
- XmlAnyElementAttribute.cs
- AnonymousIdentificationModule.cs
- TraceContextEventArgs.cs
- JsonReader.cs
- WebControlParameterProxy.cs
- OleAutBinder.cs
- DeleteStoreRequest.cs
- CodeGotoStatement.cs
- CompositeFontFamily.cs
- VSWCFServiceContractGenerator.cs
- AlternateViewCollection.cs
- XmlQueryStaticData.cs
- ControlCachePolicy.cs
- WsatEtwTraceListener.cs
- FileDetails.cs
- ObjectKeyFrameCollection.cs
- FlowLayout.cs
- LocalTransaction.cs
- BezierSegment.cs
- TextBoxLine.cs
- EncodedStreamFactory.cs
- BinaryObjectWriter.cs
- DataSourceCache.cs
- StreamingContext.cs
- MouseGestureValueSerializer.cs
- DiscoveryClientProtocol.cs
- DbParameterHelper.cs
- Collection.cs
- EpmCustomContentSerializer.cs