日期:2014-05-18  浏览次数:20430 次

动态添加LinkButto为ID赋值问题(同名)
小弟初来,还请多多关照。
Page_Load时动态生成一些LinkButton,对这些按钮的id属性赋了值,显示没有问题,但点击它们的时候,说找到id有相同的控件出错。但如果放到Ispostback里面,点击后它们就消失了。请问该怎么解决。
代码如下:
LinkButton[]   lbtn   =   new   LinkButton[7];
lbtn   =   null;
lbtn   =   new   LinkButton[7];
for(int   i   =   1;i   <=   (Convert.ToInt32(ViewState[ "PageCount "])   >   7   ?   7   :   Convert.ToInt32(ViewState[ "PageCount "]));i   ++)
{
lbtn[i]   =   new   LinkButton();
lbtn[i].ID   =   "lbtn "   +   i.ToString();
if(Convert.ToInt32(ViewState[ "PageCount "])   <=   4)
{
lbtn[i].Text   =   i.ToString()   +   "   ";
lbtn[i].CommandName   =   i.ToString();
lbtn[i].Command   +=   new   System.Web.UI.WebControls.CommandEventHandler(this.LinkButton_Click);
}
else
{
lbtn[i].Text   =   Convert.ToString(i   +   Convert.ToInt32(ViewState[ "PageIndex "])   -   4);
lbtn[i].CommandName   =   Convert.ToString(i   +   Convert.ToInt32(ViewState[ "PageIndex "])   -   4);
}
pnlPage.Controls   .Add(lbtn[i]);
}


------解决方案--------------------
这样ID就不会重复了。
lbtn[i].ID = "lbtn " + DateTime.Now.ToString( "yyyyMMddHHmmssff ") + "_ " + i.ToString();