Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / AdCreatedEventArgs.cs / 1 / AdCreatedEventArgs.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System.Collections;
using System.Collections.Specialized;
using System.Globalization;
using System.Security.Permissions;
using System.Web.Util;
///
/// Provides data for the event.
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class AdCreatedEventArgs : EventArgs {
internal const string ImageUrlElement = "ImageUrl";
internal const string NavigateUrlElement = "NavigateUrl";
internal const string AlternateTextElement = "AlternateText";
private const string WidthElement = "Width";
private const string HeightElement = "Height";
private string imageUrl = String.Empty;
private string navigateUrl = String.Empty;
private string alternateText = String.Empty;
private IDictionary adProperties;
private bool hasHeight;
private bool hasWidth;
private Unit width;
private Unit height;
///
/// Initializes a new instance of the
/// class.
///
public AdCreatedEventArgs(IDictionary adProperties) :
this(adProperties, null, null, null) {
}
///
/// Internal constructor for making use of parameter keys if
/// provided. A
internal AdCreatedEventArgs(IDictionary adProperties,
String imageUrlField,
String navigateUrlField,
String alternateTextField) {
if (adProperties != null) {
// Initialize the other properties from the dictionary
this.adProperties = adProperties;
this.imageUrl = GetAdProperty(ImageUrlElement, imageUrlField);
this.navigateUrl = GetAdProperty(NavigateUrlElement, navigateUrlField);
this.alternateText = GetAdProperty(AlternateTextElement, alternateTextField);
//
hasWidth = GetUnitValue(adProperties, WidthElement, ref width);
hasHeight = GetUnitValue(adProperties, HeightElement, ref height);
}
}
///
/// Gets the dictionary containing all the advertisement
/// properties extracted from the XML file after the
/// event is raised.
///
public IDictionary AdProperties {
get {
return adProperties;
}
}
///
///
/// Specifies the alternate text and tooltip (if browser supported) that will be
/// rendered in the .
///
public string AlternateText {
get {
return alternateText;
}
set {
alternateText = value;
}
}
internal bool HasHeight {
get {
return hasHeight;
}
}
internal bool HasWidth {
get {
return hasWidth;
}
}
internal Unit Height {
get {
return height;
}
}
///
/// Specifies the image that will be rendered in the .
///
public string ImageUrl {
get {
return imageUrl;
}
set {
imageUrl = value;
}
}
///
/// Specifies the target URL that will be rendered in the
/// .
///
public string NavigateUrl {
get {
return navigateUrl;
}
set {
navigateUrl = value;
}
}
internal Unit Width {
get {
return width;
}
}
private String GetAdProperty(String defaultIndex, String keyIndex) {
String index = (String.IsNullOrEmpty(keyIndex)) ? defaultIndex : keyIndex;
String property = (adProperties == null) ? null : (String) adProperties[index];
return (property == null) ? String.Empty : property;
}
private bool GetUnitValue(IDictionary properties, String keyIndex, ref Unit unitValue) {
Debug.Assert(properties != null);
string temp = properties[keyIndex] as string;
if (!String.IsNullOrEmpty(temp)) {
try {
unitValue = Unit.Parse(temp, CultureInfo.InvariantCulture);
}
catch {
throw new FormatException(
SR.GetString(
SR.AdRotator_invalid_integer_format, temp, keyIndex, typeof(Unit).FullName));
}
return true;
}
return false;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PingReply.cs
- NonParentingControl.cs
- HGlobalSafeHandle.cs
- ConfigurationElement.cs
- ChildrenQuery.cs
- FactoryId.cs
- WebPartExportVerb.cs
- KeyPullup.cs
- TableChangeProcessor.cs
- GAC.cs
- TextRangeBase.cs
- FilterEventArgs.cs
- PasswordRecoveryDesigner.cs
- TextTreePropertyUndoUnit.cs
- DescendantQuery.cs
- ExtensionWindowResizeGrip.cs
- HttpCookieCollection.cs
- DocumentApplicationJournalEntry.cs
- CreateSequenceResponse.cs
- XmlCharType.cs
- ConnectivityStatus.cs
- TableFieldsEditor.cs
- ImageClickEventArgs.cs
- Globals.cs
- CommonDialog.cs
- WebHttpBinding.cs
- initElementDictionary.cs
- ParallelTimeline.cs
- AppDomainManager.cs
- BookmarkEventArgs.cs
- DataGridViewRowsRemovedEventArgs.cs
- DataGridViewRowPostPaintEventArgs.cs
- ContextTokenTypeConverter.cs
- MaskDescriptors.cs
- Recipient.cs
- ListViewItemMouseHoverEvent.cs
- PartialCachingControl.cs
- OleDbRowUpdatedEvent.cs
- UserControlCodeDomTreeGenerator.cs
- LostFocusEventManager.cs
- ComboBox.cs
- Maps.cs
- MetadataItem_Static.cs
- ObjectContext.cs
- DialogResultConverter.cs
- IntSecurity.cs
- Dynamic.cs
- EnumerationRangeValidationUtil.cs
- Rect.cs
- CriticalExceptions.cs
- UniqueID.cs
- Panel.cs
- AlternationConverter.cs
- IgnoreSectionHandler.cs
- BrowserCapabilitiesFactoryBase.cs
- SqlDataSourceCommandEventArgs.cs
- NotImplementedException.cs
- LocalizationCodeDomSerializer.cs
- StorageConditionPropertyMapping.cs
- XmlSchemaObjectCollection.cs
- DependencyPropertyAttribute.cs
- MissingManifestResourceException.cs
- CustomCredentialPolicy.cs
- DataGridViewBindingCompleteEventArgs.cs
- CodePropertyReferenceExpression.cs
- FactoryGenerator.cs
- _BufferOffsetSize.cs
- StringArrayConverter.cs
- AVElementHelper.cs
- Error.cs
- WCFBuildProvider.cs
- MouseBinding.cs
- messageonlyhwndwrapper.cs
- SqlBulkCopy.cs
- AsymmetricSecurityBindingElement.cs
- QilIterator.cs
- FrameworkElement.cs
- WebBrowserNavigatingEventHandler.cs
- ConfigurationStrings.cs
- XmlCollation.cs
- FlowDocumentPaginator.cs
- CodeRemoveEventStatement.cs
- HttpCacheVary.cs
- ObjectListFieldCollection.cs
- DbMetaDataColumnNames.cs
- connectionpool.cs
- MetadataArtifactLoaderResource.cs
- EndOfStreamException.cs
- Invariant.cs
- ManagedFilter.cs
- documentsequencetextview.cs
- CharEnumerator.cs
- CompilationLock.cs
- WebBrowserNavigatedEventHandler.cs
- Merger.cs
- BooleanSwitch.cs
- SoapIgnoreAttribute.cs
- InputLanguageCollection.cs
- IISUnsafeMethods.cs
- Mappings.cs