[C#.Net筆記](web)在GridView中動態加入控制項
//※要先在ItemTemplate中放入PlaceHolder 做為控制項容器
protected void grd1_RowDataBound(object sender, GridViewRowEventArgs e)
{
Label lblData = (Label)e.Row.FindControl("lblData"); //lblData有一長串被","隔開的資料
if (lblData != null) //如果有找到這個控制項(標頭沒這個控制項)
{
string[] myData = lblData.Text.Split(','); //用字串myData 接收lblData拆開後的文字
List<HyperLink> hlData = new List<HyperLink>(); //要用的控制項以List做集合
foreach (string myDatatext in myData)
{
if (!string.IsNullOrEmpty(myDatatext)) //當字串值不為空時將HyperLink加入List中
hlData.Add(new HyperLink() { Text = myDatatext, Visible = true, NavigateUrl = string.Format("XXXX.aspx?Data={0}&Mtype={1}", myDatatext, Mtype.Trim()) });
}
PlaceHolder myPH = (PlaceHolder)e.Row.FindControl("myPH"); //在行中找到PlaceHolder 物件
foreach (HyperLink s1 in hlData)
{
myPH.Controls.Add(s1); //將List中的所有HyperLink 放入PlaceHolder
myPH.Controls.Add(new HtmlGenericControl("/br")); //加入隔行符號
//※HtmlGenericControl可以用來加入html語法,要使用HtmlGenericControl要using System.Web.UI.HtmlControls;
}
}
}