【问题标题】:Display strongly typed binded data dataSource in webForm Grid在 webForm Grid 中显示强类型绑定数据数据源
【发布时间】:2015-09-18 13:55:11
【问题描述】:

我正在使用 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:Repeater(正在工作!)

  <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>

需要让 Grid 在这里工作但不工作

  <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>

【问题讨论】:

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


    【解决方案1】:

    在你的代码隐藏中试试这个;

    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。

    【讨论】:

      猜你喜欢
      • 2015-10-20
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多