转 DevExpress-ASPxPageControl 动态添加 TabPage 内容
话不多说想看代码,在细说。
前台,很简单。主要看后台
</dx:ASPxPageControl>
后台,注意注释说明。
private void GetUserAttendCellsNew(string strUserCode) { DataSet userAttendCells = new FlatWorksZone().GetUserAttendCells(strUserCode, strSubUserCode); DataTable table2 = userAttendCells.Tables[1]; foreach (DataRow row in table2.Rows) { var tp = new TabPage(row["CellName"].ToString(), row["CellID"].ToString()); //**************************************************************************** //注意这段注释,不知道为什么这添加TabPage内容是只有第一个Tab中有iframe,知道的给我留言 //因此必须先把TabPage添加到前端然后再遍历所有TabPage添加相关内容 //因此下面多了一个foreach //var ifra = new HtmlGenericControl("iframe") { ID = row["CellID"].ToString() }; //ifra.Attributes["src"] = row["CellURL"] + "?UserID=" + strUserCode; //ifra.Style.Add("width", "100%"); //ifra.Style.Add("height", "500px"); //var cc = new ContentControl { ID = Guid.NewGuid().ToString().Replace("-", "") }; //cc.Controls.Add(ifra); //tp.Controls.Add(cc); //***************************************************************************** pageControl.TabPages.Add(tp); } foreach (DataRow row in table2.Rows) { var ifra = new HtmlGenericControl("iframe") { ID = row["CellID"].ToString() }; ifra.Attributes["src"] = row["CellURL"] + "?UserID=" + strUserCode; ifra.Style.Add("width", "100%"); ifra.Style.Add("height", "500px"); var cc = new ContentControl { ID = Guid.NewGuid().ToString().Replace("-", "") }; cc.Controls.Add(ifra); pageControl.TabPages.FindByName(row["CellID"].ToString()).Controls.Add(cc); } }