Search code examples
c#asp.netdatalist

How to add controls to datalist in code behind, not in aspx design?


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MyWeb.Data;
using MyWeb.Common;
using MyWeb.Business;
using AjaxPro;
using System.Text;

<asp:DataList ID="DataList1" runat="server" RepeatLayout="Flow">
                <ItemTemplate>

                    <div class="m_status">
                <div class="ava">
                    <a href="#">
                        <asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("AvatarUS") %>' 
                        CssClass="ava_medium"/></a>
                </div>
                <div class="sta_content">
                    <div class="sta_title">

                        <p class="sta_detail">
                            <asp:Literal ID="Literal1" runat="server" Text='<%# Eval("Detail") %>'></asp:Literal>
                            </p>
                        <div class="function">
                            <a class="sta_like left" href="#">Thích</a>
                            <a class="sta_cmt left" href="#">Bình luận</a>
                            <a class="sta_share left" href="#">Chia sẻ</a>
                        </div>
                    </div>

                    </div>                                                  
                </div>
                </ItemTemplate>
                </asp:DataList>

I want to add a DataList like that in code behind(Default.aspx.cs)
How to make it?


Solution

  • Problem when I add in code behide: Default.aspx.cs

        namespace KetBanBonPhuong
        {
               [AjaxPro.AjaxNamespace("Default")]
    
               public partial class Default1 : System.Web.UI.Page
               {
                   protected void Page_Load(object sender, EventArgs e)
                   {
                        AjaxPro.Utility.RegisterTypeForAjax(typeof(Default1));
                        if(!isPostBack)
                        {
                    DataList dl = new DataList();
                    dl.DataSource = GetList();
                    dl.DataBind();
                    this.liststatus.Controls.Add(dl);
                    dl.DataSource = GetList();
                    dl.RepeatLayout = RepeatLayout.Flow;
                    Literal ltr = new Literal();
                    ltr.Text = "kaldfs";
    
                    dl.Controls.Add(ltr);//Error here
                 }
              }
    }