在页面中使用Repeater类显示数据<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate>
<table border="1">
<tr>
<td><b>Company</b></td>
<td><b>Symbol</b></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker")%> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>Container这个对象是从哪里来的,假如把Container随意换个字符 则vs提示上下文中没有此对象
但我在上下文中也没见声明Container对象是什么类型啊,vs就提示它是Repeater中表示项的RepeaterItem
对象,好像凭空冒出个对象,但我从没见它在哪里定义。
<HeaderTemplate>
<table border="1">
<tr>
<td><b>Company</b></td>
<td><b>Symbol</b></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker")%> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>Container这个对象是从哪里来的,假如把Container随意换个字符 则vs提示上下文中没有此对象
但我在上下文中也没见声明Container对象是什么类型啊,vs就提示它是Repeater中表示项的RepeaterItem
对象,好像凭空冒出个对象,但我从没见它在哪里定义。
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ArrayList values = new ArrayList(); values.Add(new PositionData("Microsoft", "Msft"));
values.Add(new PositionData("Intel", "Intc"));
values.Add(new PositionData("Dell", "Dell")); Repeater1.DataSource = values;
Repeater1.DataBind(); Repeater2.DataSource = values;
Repeater2.DataBind();
}
}}
public class PositionData
{ private string name;
private string ticker; public PositionData(string name, string ticker)
{
this.name = name;
this.ticker = ticker;
} public string Name
{
get
{
return name;
}
} public string Ticker
{
get
{
return ticker;
}
}
}
Container是容器,DaTaItem是属性
<tr>
<td> <%# Eval("Name") %> </td>
<td> <%# Eval("Ticker")%> </td>
</tr>
</ItemTemplate>
可调用方法,看MSDN
这样是可以的,不过楼主那样用,今天又明白个理,哈哈,路过也值得.