在webForm Grid中显示强类型绑定数据dataSource

时间:2015-09-18 13:55:12

标签: c# data-binding webforms datasource asp.net-3.5

我在ASP.NET 3.5中工作,我正在尝试在网格中显示数据。我有一个模型类,数据存储为强类型列表。我有一个Repeater控件来显示所有数据,但由于理由不在网格中工作

模型类

 public class RolesModel
{
    public RolesModel() { }

    public long RoleID { get; set; }

    public string Title { get; set; }

    public string Description { get; set; }

    public DateTime CreatedDate { get; set; }
}

aspx.cs类

protected void Page_Load(object sender, EventArgs e)
    {

        if(!Page.IsPostBack)
        {
            List<RolesModel> roleList = new List<RolesModel>();

            roleList = RoleDefinationRelay.GetAllRoles(null);

            rptRoles.DataSource = roleList;
            rptRoles.DataBind();
        }

    }

ASP:中继器(正在工作!)

  <asp:Repeater ID="rptRoles" runat="server">
                     <HeaderTemplate>
                         <table class="tableStyle1">
                             <tr>
                               <td>Role ID</td>
                               <td>Title</td>
                               <td>Description</td>
                               <td>Created Date</td>
                           </tr>

                     </HeaderTemplate>
                     <ItemTemplate>
                         <tr>
                                <td><%#Eval("RoleID")%></td>
                                <td><%#Eval("Title")%></td>
                                <td><%#Eval("Description")%></td>
                                <td><%#Eval("CreatedDate")%></td>
                         </tr>
                     </ItemTemplate>
                     <FooterTemplate>
                         </table>
                     </FooterTemplate>
                 </asp:Repeater>

需要让网格在这里工作但不起作用

  <cc0:Grid ID="ItemList" runat="server" FolderStyle="~/Styles/Grid" AutoGenerateColumns="true"
                Width="100%" PageSizeOptions="5,10,20,50,100,-1" AllowFiltering="true" FilterType="ProgrammaticOnly"
                AllowAddingRecords="false" DataSourceID="rptRoles">
        <Columns>
              <cc0:Column DataField="RoleID" HeaderText="Role ID" Visible="true" />
             <cc0:Column DataField="Title" HeaderText="Title" Width="150" />
             <cc0:Column DataField="Description" HeaderText="Description" />
             <cc0:Column DataField="CreatedDate" HeaderText="Created Date" Width="150" />
         </Columns>                  
 </cc0:Grid>

1 个答案:

答案 0 :(得分:0)

在您的代码隐藏中尝试此操作;

protected void Page_Load(object sender, EventArgs e)
{

    if(!Page.IsPostBack)
    {
        List<RolesModel> roleList = new List<RolesModel>();

        roleList = RoleDefinationRelay.GetAllRoles(null);

        ItemList.DataSource = roleList;
        ItemList.DataBind();
    }
 }

从网格标记中删除DataSourceID。