1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
//------------------------------------------------------------------------------
// <copyright file="WmlListControlAdapter.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
#if WMLSUPPORT
namespace System.Web.UI.WebControls.Adapters {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.Adapters;
public class WmlAdRotatorAdapter : AdRotatorAdapter {
private bool _firstTimeRender = true;
private bool _wmlTopOfForm;
protected internal override void Render(HtmlTextWriter writer) {
WmlTextWriter wmlWriter = (WmlTextWriter) writer;
if (wmlWriter.AnalyzeMode) {
return;
}
if (Control.DoPostCacheSubstitutionAsNeeded(writer)) {
return;
}
// This is to work around the issue that WmlTextWriter has its
// state info for rendering block level elements, such as <p> tag.
// We keep the state info for subsequent PostCache Render call below.
//
// e.g. If the ad is at the beginning of the form, we need to
// call the method below to explicitly write out a <p> tag for
// a valid WML output.
if (_wmlTopOfForm) {
wmlWriter.BeginRender();
}
if (_firstTimeRender) {
_wmlTopOfForm = wmlWriter.TopOfForm;
_firstTimeRender = false;
}
RenderHyperLinkAsAd(writer);
}
}
}
#endif
|