今天在使用三层开发的过程中遇到一个问题,就是把数据库中的记录放到一个List中,这样的话在绑定Repeater控件时就会出错。下面让我们看看应该如何绑定泛型到Repeater控件中。
先看看我的泛型
/// <summary>
/// 查询得到TB_User表中所有信息
/// </summary>
/// <returns>查询到的所有TB_User数据模型对象集合</returns>
public List<TB_UserMod> GetAllModel()
{
//调用数据库访问层查询表中所有信息方法并将查询结果返回
return this._tB_UserDal.GetAllModel();
}
.CS代码
namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TB_UserBll tB_UserBll = new TB_UserBll();
//指定Repeater控件.DataSource = List<你的类型>
List<TB_UserMod> bll = tB_UserBll.GetAllModel();
Repeater1.DataSource = bll;
Repeater1.DataBind();
}
}
}
从上面的cs代码中可以看出后台代码里只要指定Repeater控件.DataSource = List<你的类型>
而前台代码则直接绑定字段即可。
<form id="form1" runat="server">
<asp:Repeater ID="Repeater1" runat="server" >
<ItemTemplate>
<li><%# Eval("Name")%></li>
</ItemTemplate>
</asp:Repeater>
</form>
这是我的数据库字段,因为代码使用了三层架构,但是逻辑是一样的,好好疏通一下即可。
最后给大家介绍一个开源的三层代码生成器
C# 实现的简单三层架构代码生成器(开源)