Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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 note is that we cannot change the constructor
/// above because it was made public.
///
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);
// VSWhidbey 141916: Check validity of Width and Height
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;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CustomCategoryAttribute.cs
- PeerName.cs
- BrowserDefinitionCollection.cs
- EditingScope.cs
- Propagator.JoinPropagator.cs
- TileBrush.cs
- WindowsImpersonationContext.cs
- ActivityStatusChangeEventArgs.cs
- CodeGenerator.cs
- CompositionAdorner.cs
- CodeCommentStatement.cs
- WebDescriptionAttribute.cs
- BlockCollection.cs
- ResourceSetExpression.cs
- PageCache.cs
- OutputCacheSettingsSection.cs
- CommonProperties.cs
- BidPrivateBase.cs
- MULTI_QI.cs
- BatchStream.cs
- RewritingPass.cs
- EntityDataSourceContainerNameItem.cs
- TitleStyle.cs
- TemplateBamlRecordReader.cs
- PreservationFileReader.cs
- DateTimeFormat.cs
- HtmlContainerControl.cs
- ServerProtocol.cs
- ZipIOExtraFieldPaddingElement.cs
- CommentAction.cs
- PassportPrincipal.cs
- WebPartVerbsEventArgs.cs
- Cursors.cs
- PeerNearMe.cs
- StyleHelper.cs
- ListViewEditEventArgs.cs
- XhtmlBasicValidatorAdapter.cs
- ExtendedPropertyCollection.cs
- XmlSchema.cs
- SoapSchemaExporter.cs
- LogReservationCollection.cs
- VSWCFServiceContractGenerator.cs
- webeventbuffer.cs
- SamlSecurityToken.cs
- GridPattern.cs
- XmlQueryStaticData.cs
- LambdaCompiler.Generated.cs
- UnsafePeerToPeerMethods.cs
- HttpInputStream.cs
- ContainerUIElement3D.cs
- GeneralTransform2DTo3D.cs
- DiscoveryMessageSequenceCD1.cs
- MulticastIPAddressInformationCollection.cs
- Selector.cs
- ReturnEventArgs.cs
- PasswordDeriveBytes.cs
- HttpListener.cs
- BinarySerializer.cs
- ResourceDefaultValueAttribute.cs
- DiagnosticTraceRecords.cs
- FixUpCollection.cs
- NodeFunctions.cs
- OdbcCommand.cs
- SuppressIldasmAttribute.cs
- Utilities.cs
- TempFiles.cs
- RootBrowserWindowAutomationPeer.cs
- AdapterUtil.cs
- SimpleApplicationHost.cs
- WebPartConnection.cs
- DataGridTableCollection.cs
- FieldDescriptor.cs
- RefExpr.cs
- CanonicalFontFamilyReference.cs
- shaperfactoryquerycacheentry.cs
- TypeContext.cs
- AdapterUtil.cs
- CallId.cs
- MonthCalendar.cs
- UIAgentInitializationException.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- GroupByQueryOperator.cs
- ListChangedEventArgs.cs
- Keywords.cs
- TrailingSpaceComparer.cs
- ExtractCollection.cs
- CodeCompiler.cs
- TemplateBindingExtensionConverter.cs
- DbgCompiler.cs
- FontSizeConverter.cs
- RouteItem.cs
- SecurityUniqueId.cs
- ViewCellSlot.cs
- SmiSettersStream.cs
- TextShapeableCharacters.cs
- StorageConditionPropertyMapping.cs
- ItemCheckEvent.cs
- EntityClientCacheEntry.cs
- RootProfilePropertySettingsCollection.cs
- SymbolEqualComparer.cs