<%@ Page Language="C#" Debug="true" %>
<html>
<script runat="server">
// Output:
//Version: 1.1.4322.2032
//Default AdvertisementFile -> '' (null? False)
//Default Target -> '_top' (null? False)
//Default KeywordFilter -> '' (null? False)
//Type of Controls -> 'System.Web.UI.EmptyControlCollection'
//Number of Controls before adding literal -> '0'
//Number of Controls -> '0'
// <hr>
//Count: 0
// <hr>
//Count: 1
//Target: pepe

	void Page_Load ()
	{
		label.Text = String.Format ("Version: {0}<br>", Environment.Version);
		AdRotator ar = new AdRotator ();
		// Empty
		label.Text += String.Format ("Default AdvertisementFile -> '{0}' (null? {1})", ar.AdvertisementFile, ar.AdvertisementFile == null);
		label.Text += "<br>";
		// "_top"
		label.Text += String.Format ("Default Target -> '{0}' (null? {1})", ar.Target, ar.Target == null);
		label.Text += "<br>";
		// Empty
		label.Text += String.Format ("Default KeywordFilter -> '{0}' (null? {1})", ar.KeywordFilter, ar.KeywordFilter == null);

		label.Text += "<br>";
		// EmptyControlCollection (on 2.0 is a ControlCollection)
		label.Text += String.Format ("Type of Controls -> '{0}'<br>", ar.Controls.GetType ());
		// 0
		label.Text += String.Format ("Number of Controls before adding literal -> '{0}'<br>", ar.Controls.Count);
		// Next line throws in 1.1, works fine under 2.0
		//ar.Controls.Add (new LiteralControl ("Hi there"));
		label.Text += String.Format ("Number of Controls -> '{0}'", ar.Controls.Count);
		//panel.Controls.Add (ar);

		// Viewstate
		MyRotator myr = new MyRotator ();
		label.Text += "<hr>";
		label.Text += myr.GetVSItems ();
		myr.Target = "pepe";
		myr.AdvertisementFile = "ads.xml";
		//myr.KeywordFilter = "filterthis";
		label.Text += "<hr>";
		label.Text += myr.GetVSItems ();
		panel.Controls.Add (myr);

	}

	class MyRotator : AdRotator {
		public string GetVSItems ()
		{
			StringBuilder sb = new StringBuilder ();
			sb.AppendFormat ("Count: {0}<br>", ViewState.Count);
			foreach (string o in ViewState.Keys) {
				sb.AppendFormat ("{0}: {1}<br>", o, ViewState [o]);
			}

			return sb.ToString ();
		}
	}

</script>
<body>
This test shows default property values.
<br>
<asp:Label runat="server" id="label" />
<hr>
<asp:Panel runat="server" id="panel" />
<hr>
</body>
</html>