日期:2014-05-18 浏览次数:20379 次
using System; using System.Linq; using System.Web.UI; using System.Web.UI.WebControls; public partial class Consultation_Statistics_test : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataClassesDataContext DC = new DataClassesDataContext(); var result = DC.用户 .Select(m => new { m.ID, m.姓名 }); Repeater1.DataSource = result; Repeater1.DataBind(); } } protected void Repeater1_OnItemDataBound(object sender, RepeaterItemEventArgs e) { Label IDLabel = e.Item.FindControl("IDLabel") as Label; Label XMLabel = e.Item.FindControl("XMLabel") as Label; IDLabel.Text = DataBinder.Eval(e.Item.DataItem, "ID").ToString(); XMLabel.Text = DataBinder.Eval(e.Item.DataItem, "姓名").ToString(); } }
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Consultation_Statistics_test" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <table> <tr> <td>ID</td> <td>姓名</td> </tr> <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_OnItemDataBound"> <ItemTemplate> <tr> <td> <asp:Label ID="IDLabel" runat="server" Text="Label"></asp:Label></td> <td> <asp:Label ID="XMlabel" runat="server" Text="Label"></asp:Label></td> </tr> </ItemTemplate> </asp:Repeater> </table> </div> </form> </body> </html>
<asp:Label ID="valueLabel" runat="server" Text='<%# Eval("ID") %>' />
------解决方案--------------------
Repeater要么用<%# Eval() %> 要么用OnItemDataBound吧,我想用它的目的就在于灵活性大,<ItemTemplate>里放的什么控件,只有你自己绑定,自己手动来实现!这是这样想的!
如果全自动实现你就用GridView!
另外,我不清楚你非要这样做的目的是什么