在使用ascx控制項時,
一樣可使用FindControl來取得ItemTemplate控制項 ,
LinkButton lb = (LinkButton)e.Row.FindControl("LinkButton_abc");
但因為自己忘了去考量
e.Row.RowType == DataControlRowType.DataRow
這個RowType
使得在設定 lb 時一直出現錯誤訊息
google一下才想到
GridView_RowDataBound
是會把所有GridView的Row都做一次
所以在DataControlRowType.Header時因沒有ItemTemplate控制項所以一直出現錯誤~
但~~~郤一直都沒有想到~~~~@@
真的是太久沒有GridView了
所以改為
string js = "window.open('abc.aspx','資料下載','');";
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton lb = (LinkButton)e.Row.FindControl("LinkButton_abc");
lb.OnClientClick = js;
}
就會正常了~@@
留言
張貼留言