Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<head>
<script runat="server">
void Page_Load (object s, EventArgs e)
{
if (IsPostBack)
return;
rep.DataBind ();
}
void Clicked (object o, EventArgs e)
{
lbl1.Text = "Pass";
}
</script>
</head>
<body>
<form runat="server">
<asp:label runat="server" id="lbl1" />
<asp:Repeater id="rep" runat="server">
<HeaderTemplate>
<h1>FAIL</h1>
</HeaderTemplate>
<FooterTemplate>
<h2>FAIL</h2>
</FooterTemplate>
</asp:Repeater>
<asp:button runat="server" Text="Click" id="x" onclick="Clicked" />
</form>
</body>
</html>

View File

@@ -0,0 +1,99 @@
<!-- the bug report states this works in xsp but not in xsp2 -->
<%@ Page Language="C#" %>
<script language="C#" runat="server">
protected override void OnInit(EventArgs e)
{
Load += new EventHandler(Page_Load);
}
private void Page_Load(object sender, EventArgs e)
{
ArrayList al = new ArrayList();
al.Add("One");
al.Add("Two");
al.Add("Three");
al.Add("Four");
al.Add("Five");
repeater.ItemDataBound += new RepeaterItemEventHandler(OnBound);
repeater.DataSource = al;
repeater.DataBind();
}
private void OnBound(object sender, RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
Literal lit = (Literal) e.Item.FindControl("lit");
lit.Text = e.Item.DataItem.ToString();
ArrayList al = new ArrayList();
al.Add("A");
al.Add("B");
al.Add("C");
Repeater nestRepeater = (Repeater)
e.Item.FindControl("nestRepeater");
nestRepeater.ItemDataBound += new
RepeaterItemEventHandler(OnNestBound);
nestRepeater.DataSource = al;
nestRepeater.DataBind();
}
}
private void OnNestBound(object sender, RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
Literal lit = (Literal) e.Item.FindControl("lit");
lit.Text = e.Item.DataItem.ToString();
}
}
</script>
<html>
<body>
Results:
<p/>
<asp:Repeater id="repeater" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li><asp:Literal id="lit" runat="server" />
<asp:Repeater id="nestRepeater" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li><asp:Literal id="lit" runat="server" /></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</body>
</html>

View File

@@ -0,0 +1,33 @@
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<head>
<script runat="server">
void Page_Load (object s, EventArgs e)
{
if (IsPostBack)
return;
}
</script>
</head>
<body>
<form runat="server">
<asp:Repeater ID="Repeater" runat="server" DataSourceID="XmlDataSource">
<HeaderTemplate>
<div>
</HeaderTemplate>
<ItemTemplate>
<Strong><%# XPath("@name") %><br /></Strong>
<%#XPath("City")%><br />
<%#XPath("Antiquity")%><br />
</ItemTemplate>
<FooterTemplate>
</div>
</FooterTemplate>
</asp:Repeater>
<asp:XmlDataSource ID="XmlDataSource" runat="server" DataFile="iran.xml" XPath="IranHistoricalPlaces/Place"/>
</form>
</body>
</html>

View File

@@ -0,0 +1,56 @@
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<head>
<script runat="server">
void Page_Load (object s, EventArgs e)
{
if (IsPostBack)
return;
DataTable t = new DataTable ("t");
t.Columns.Add (new DataColumn ("Integer", typeof (int)));
t.Columns.Add (new DataColumn ("String", typeof (string)));
t.Columns.Add (new DataColumn ("Double", typeof (double)));
DataSet ds = new DataSet ("ds");
ds.Tables.Add (t);
for (int i = 0; i < 3; i ++) {
DataRow dr = t.NewRow ();
dr [0] = i;
dr [1] = "Blah blah blah " + i;
dr [2] = i * Math.PI;
t.Rows.Add (dr);
}
rep.DataSource = ds;
rep.DataMember = "t";
rep.DataBind ();
}
</script>
</head>
<body>
<form runat="server">
<asp:Repeater id="rep" runat="server">
<HeaderTemplate>
<h1>Hello, World</h1>
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval (Container.DataItem, "String") %>,
<%# DataBinder.Eval (Container.DataItem, "Double") %>
</ItemTemplate>
<FooterTemplate>
<h2>Bye!</h2>
</FooterTemplate>
<SeparatorTemplate>
<p>
</SeparatorTemplate>
</asp:Repeater>
</form>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<IranHistoricalPlaces name="places">
<Place name="Taghe Bostan">
<City>Kermanshah</City>
<Antiquity>2000</Antiquity>
</Place>
<Place name="Persepolis">
<City>Shiraz</City>
<Antiquity>2500</Antiquity>
</Place>
</IranHistoricalPlaces>

View File

@@ -0,0 +1,74 @@
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<head>
<script runat="server">
void Page_Load (object s, EventArgs e)
{
if (IsPostBack)
return;
DataTable t = new DataTable ("t");
t.Columns.Add (new DataColumn ("Symbol", typeof (string)));
t.Columns.Add (new DataColumn ("Company", typeof (string)));
t.Columns.Add (new DataColumn ("Price", typeof (double)));
DataSet ds = new DataSet ("ds");
ds.Tables.Add (t);
AddStock (t, "MSFT", "Microsoft Corp.", 25.81);
AddStock (t, "NOVL", "Novell Inc.", 6.17);
AddStock (t, "GOOG", "Google", 300.95);
rep.DataSource = ds;
rep.DataMember = "t";
rep.DataBind ();
}
void AddStock (DataTable dt, string symbol, string co, double price)
{
DataRow dr = dt.NewRow ();
dr [0] = symbol;
dr [1] = co;
dr [2] = price;
dt.Rows.Add (dr);
}
void CreateItem (object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
if (e.Item.DataItem == null)
lbl1.Text = "FAILED";
}
</script>
</head>
<body>
<asp:Label id="lbl1" runat="server" />
<form runat="server">
<asp:Repeater id="rep" OnItemCreated="CreateItem" runat="server">
<HeaderTemplate>
<table>
<thead>
<tr>
<td>Stock</td>
<td>Company</td>
<td>Price</td>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval (Container.DataItem, "Symbol") %></td>
<td><%# DataBinder.Eval (Container.DataItem, "Company") %></td>
<td><%# DataBinder.Eval (Container.DataItem, "Price") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>

View File

@@ -0,0 +1,74 @@
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<head>
<script runat="server">
void Page_Load (object s, EventArgs e)
{
if (IsPostBack)
return;
DataTable t = new DataTable ("t");
t.Columns.Add (new DataColumn ("Symbol", typeof (string)));
t.Columns.Add (new DataColumn ("Company", typeof (string)));
t.Columns.Add (new DataColumn ("Price", typeof (double)));
DataSet ds = new DataSet ("ds");
ds.Tables.Add (t);
AddStock (t, "MSFT", "Microsoft Corp.", 25.81);
AddStock (t, "NOVL", "Novell Inc.", 6.17);
AddStock (t, "GOOG", "Google", 300.95);
rep.DataSource = ds;
rep.DataMember = "t";
rep.DataBind ();
}
void AddStock (DataTable dt, string symbol, string co, double price)
{
DataRow dr = dt.NewRow ();
dr [0] = symbol;
dr [1] = co;
dr [2] = price;
dt.Rows.Add (dr);
}
void ItemCommand (object sender, RepeaterCommandEventArgs e)
{
lbl1.Text = String.Format ("You bought {0}", e.CommandArgument);
}
</script>
</head>
<body>
<asp:Label id="lbl1" runat="server" />
<form runat="server">
<asp:Repeater id="rep" OnItemCommand="ItemCommand" runat="server">
<HeaderTemplate>
<table>
<thead>
<tr>
<td>Stock</td>
<td>Company</td>
<td>Price</td>
<td>Buy</td>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval (Container.DataItem, "Symbol") %></td>
<td><%# DataBinder.Eval (Container.DataItem, "Company") %></td>
<td><%# DataBinder.Eval (Container.DataItem, "Price") %></td>
<td><asp:LinkButton Text="Buy" runat="server" CommandArgument='<%# DataBinder.Eval (Container.DataItem, "Symbol") %>' /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<%@ Page language="c#" src="./repeatertest.aspx.cs" Inherits="test.SimplePage" AutoEventWireup="false"%>
<html>
<head>
</head>
<body>
<asp:XmlDataSource ID="XmlDataSource" runat="server" DataFile="iran.xml" XPath="IranHistoricalPlaces/Place"/>
</body>
</html>

View File

@@ -0,0 +1,83 @@
using System;
using System.Collections;
using System.Data;
using System.Web.UI.WebControls;
using System.Xml.XPath;
namespace test
{
public class SimplePage : System.Web.UI.Page
{
protected XmlDataSource XmlDataSource;
public SimplePage()
{
RepeaterTest t = new RepeaterTest ();
Controls.Add (t);
#if true
t.DataSourceID = "XmlDataSource";
#else
t.DataSource = XmlDataSource;
#endif
}
}
public class RepeaterTest : Repeater {
public override void DataBind ()
{
Page.Response.Write (String.Format ("<pre>In DataBind, from {0}</pre>", Environment.StackTrace));
base.DataBind ();
}
protected override void CreateControlHierarchy (bool useDataSource) {
Page.Response.Write (String.Format ("<pre>In CreateControlHierarchy({0}), from {1}</pre>", useDataSource, Environment.StackTrace));
base.CreateControlHierarchy (useDataSource);
}
protected override void OnInit (EventArgs e) {
Page.Response.Write (String.Format ("<pre>In OnInit, from {0}</pre>", Environment.StackTrace));
base.OnInit (e);
}
protected override IEnumerable GetData () {
Page.Response.Write (String.Format ("<pre>In GetData, from {0}</pre>", Environment.StackTrace));
IEnumerable data = base.GetData();
IEnumerator e = data.GetEnumerator();
while (e.MoveNext()) {
Page.Response.Write (String.Format (" + {0}<br/>", e.Current));
IXPathNavigable desc = (IXPathNavigable)e.Current;
Page.Response.Write (String.Format ("+ + navigator = {0}<br/>", desc.CreateNavigator().GetType()));
}
return data;
}
#if false
/* can't do this one, as it is invoked in the setter for DataSourceID. */
protected override void OnDataPropertyChanged () {
if (Page != null)
Page.Response.Write (String.Format ("<pre>In OnDataPropertyChanged, from {0}</pre>", Environment.StackTrace));
base.OnDataPropertyChanged ();
}
#endif
protected override void OnDataSourceViewChanged (object sender, EventArgs e) {
Page.Response.Write (String.Format ("<pre>In OnDataSourceViewChanged, from {0}</pre>", Environment.StackTrace));
base.OnDataSourceViewChanged (sender, e);
}
protected override RepeaterItem CreateItem (int itemIndex, ListItemType itemType) {
Page.Response.Write (String.Format ("<pre>In CreateItem, from {0}</pre>", Environment.StackTrace));
return base.CreateItem (itemIndex, itemType);
}
protected override void InitializeItem (RepeaterItem item) {
Page.Response.Write (String.Format ("<pre>In InitializeItem, from {0}</pre>", Environment.StackTrace));
base.InitializeItem (item);
}
}
}