[C#] .net 后台动态添加datalist 并绑定 →→→→→进入此内容的聊天室

来自 , 2019-09-19, 写在 C#, 查看 111 次.
URL http://www.code666.cn/view/09a69de1
  1. public void GetDataListData(string standardclass, string toothtypeBig, int i)
  2.         {
  3.             DataTable dt = bindData(standardclass, toothtypeBig);
  4.             DataList d = new DataList();
  5.             d.ID = "dlstTest";
  6.             d.ItemTemplate = new MyColumn("litData", 200);
  7.             d.RepeatColumns = 5;
  8.             d.RepeatDirection = RepeatDirection.Horizontal;
  9.             d.ItemDataBound += new DataListItemEventHandler(d_ItemDataBound);
  10.             d.DataSource = dt;
  11.             d.DataBind();
  12.  
  13.             HtmlGenericControl div = new HtmlGenericControl("div");
  14.             div.Attributes.Add("class", "ProductIntroList");
  15.             if (i == 0)
  16.                 div.Style.Add("display", "block");
  17.             else
  18.                 div.Style.Add("display", "none");
  19.             div.Controls.Add(d);
  20.             this.divList.Controls.Add(div);
  21.         }
  22.         private void d_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
  23.         {
  24.             Literal t;
  25.             if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
  26.             {
  27.                 t = (Literal)e.Item.FindControl("litData");
  28.                 if (t != null)
  29.                 {
  30.                     string ulstring = string.Format(@"<ul><li><a class='ImageBlock' href='ProductInfor.aspx?{0}'>
  31.                                            <img width='126px' height='106px' src='imgProduct/{1}' border='0' /></a>
  32.                                            <a class='TextBlock' href='ProductInfor.aspx?{0}'> {2}-{3}</a></li>
  33.                                       </ul>", ((DataRowView)e.Item.DataItem).Row["Url"].ToString(), ((DataRowView)e.Item.DataItem).Row["ImageUrl"].ToString(), ((DataRowView)e.Item.DataItem).Row["Name"].ToString(), ((DataRowView)e.Item.DataItem).Row["CDescription"].ToString());
  34.                     t.Text = ulstring;
  35.                 }
  36.             }
  37.         }
  38.         public DataTable bindData(string _standardclass, string _toothtypebig)
  39.         {
  40.             this.divShopNull.Visible = false;
  41.             try
  42.             {
  43.                 string sql = @"select DISTINCT Name,CDescription,StandardClass,Groove,HeadType,ToothTypeBig from ba_ShellTrumpet  where 1=1 ";
  44.                 if (_standardclass != "")
  45.                 {
  46.                     sql += "and StandardClass='" + _standardclass + "'";
  47.                 }
  48.                 if (_toothtypebig != "")
  49.                     sql += " and ToothTypeBig='" + _toothtypebig + "'";
  50.                 sql += "order by Name";
  51.                 DataTable standard = BLL.GetDataTable(sql);
  52.                 if (!CommonClass.DTRow.CheckDtIsEmpty(standard))
  53.                 {
  54.                     standard.Columns.Add("Url", typeof(string));
  55.                     standard.Columns.Add("ImageUrl", typeof(string));
  56.                     for (int i = 0; i < standard.Rows.Count; i++)
  57.                     {
  58.                         //StandardClass={0}&Name={1}&CDescription={2}
  59.                         standard.Rows[i]["Url"] = "StandardClass=" + standard.Rows[i]["StandardClass"].ToString() + "&Name=" + standard.Rows[i]["Name"].ToString() + "&CDescription=" + standard.Rows[i]["CDescription"].ToString() + "&Groove=" + standard.Rows[i]["Groove"].ToString() + "&HeadType=" + standard.Rows[i]["HeadType"].ToString() + "&ToothTypeBig=" + standard.Rows[i]["ToothTypeBig"].ToString();
  60.                         standard.Rows[i]["ImageUrl"] = ImageUrl(standard.Rows[i]["Name"].ToString());
  61.                     }
  62.                     return standard;
  63.                 }
  64.                 else
  65.                 {
  66.                     this.divShopNull.Visible = true;
  67.                     return null;
  68.                 }
  69.  
  70.             }
  71.             catch (Exception ex)
  72.             {
  73.  
  74.                 throw;
  75.                 return null;
  76.             }
  77.  
  78.         }
  79.         public class MyColumn : ITemplate
  80.         {
  81.             private string pControlName; //控件名称  
  82.             private int pWidth; //控件宽度  
  83.             public MyColumn(string ControlName, int Width)
  84.             {
  85.                 pControlName = ControlName;
  86.                 pWidth = Width;
  87.             }
  88.             public void InstantiateIn(Control container)
  89.             {
  90.                 Literal h = new Literal();
  91.                 h.ID = pControlName;
  92.                 container.Controls.Add(h);
  93.             }
  94.         }
  95.         public string ImageUrl(string name)
  96.         {
  97.             if (name == "")
  98.                 return "no_pic.jpg";
  99.             string imagename = "imgProduct\\" + name + ".jpg";
  100.             string path = System.Web.HttpContext.Current.Server.MapPath(imagename); //WebHelper.GetSiteUrl() + "\\" + imagename;
  101.             if (System.IO.File.Exists(path))
  102.             {
  103.                 return name + ".jpg";
  104.             }
  105.             return "no_pic.jpg";
  106.         }
  107. //csharp/5881

回复 " .net 后台动态添加datalist 并绑定"

这儿你可以回复上面这条便签

captcha