用repearter很难成功动态绑定,所以有
1、 第一种方式就是直接在后台遍历完,然后输出html代码,但是这样就比较不爽。
2、 第二种就是在后台public的声明datatable,然后在前台遍历。
还有一个问题:就是指向不明确,由于前台定义的ID和后台的变量名重复了,所以以后不能这样定义,然后就是在iis中是不区分大小写的,所以发布后更容易出现问题。
//protected void Rp_DepartmentList_ItemDataBound(object sender, RepeaterItemEventArgs e)
//{
// Department d = new Department();
// //获得所有部门
// string pageIndex = "1";
// string pageSize = "10";
// string DpId = "";
// string DpName = "";
// string Count = "";
// StrongOutputData output = d.GetDepartmentList(pageIndex, pageSize, DpId, DpName, Count);
// dt = output.Data;
// columns = new List<string>();
// foreach (DataColumn dc in dt.Columns)
// {
// columns.Add(dc.ColumnName);
// }
// if (e.Item.ItemType == ListItemType.Header)
// {
// StringBuilder sb = new StringBuilder(" <tr> ");
// for (int i = 0; i < columns.Count; i++)
// {
// sb.AppendFormat(" <th> {0} </th> ", columns[i]);
// }
// sb.Append(" </tr> ");
// // (e.Item.FindControl("list_head") as Literal).Text = sb.ToString();
// }
// //RepeaterItem rptItem = e.Item;
// //DataRow dtRow = ((DataRowView)rptItem.DataItem).Row;
// //// 相关数据行数据
// //string strName = dtRow.Field<string>("name");
// //// 查找相关项中控件并设置Text属性
// //TextBox tb1 = rptItem.FindControl("tb1") as TextBox;
// //tb1.Text = strName;
// //if (e.Item.ItemType == ListItemType.AlternatingItem)
// //{
// // StringBuilder sb = new StringBuilder(" <tr> ");
// // for (int i = 0; i < columns.Count; i++)
// // {
// // sb.AppendFormat("<td><%#Eval(\"{0}\")%></td>", columns[i]);
// // }
// // sb.Append(" </tr> ");
// // Rp_DepartmentList.ItemTemplate.
// // (e.Item.FindControl("list_body") as Literal).Text = sb.ToString();
// //}
//}
//public int i=0;
//public string GetValue()
//{
// string str= columns[i];
// i++;
// return str;
//}