如何在DataGrid中查找HtmlInputText控件
李天平 2004-07-30 09:23:53 如何在DataGrid中查找HtmlInputText控件
先在单元格里增加一个控件:
private void grid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if((e.Item.ItemType==ListItemType.Item)||(e.Item.ItemType==ListItemType.AlternatingItem))
{
//第2格,绑定文本框
HtmlInputText text1=new HtmlInputText("Text");
text1.ID="Product"+Serial.ToString();
text1.Name="Product"+Serial.ToString();
text1.Size=10;
text1.Attributes["readOnly"]="readOnly";
string Product_id=(string)DataBinder.Eval(e.Item.DataItem, "Product_id");
text1.Value=Product_id;
e.Item.Cells[1].Controls.Add(text1);
}
}
中间经过操作HtmlInputText控件的值变化后:
在这里查找控件:
foreach(DataGridItem item in grid.Items)
{
int serial=Convert.ToInt32(item.Cells[7].Text);
//得到HtmlInputText 控件的全id;
string pro_id="grid__ctl"+(serial+1).ToString()+"_Product"+serial.ToString();
HtmlInputText txtcell1=(HtmlInputText)item.Cells[1].FindControl(pro_id);
//用HtmlInputText控件的id;
string pro_id2="Product"+serial.ToString();
HtmlInputText txtcell2=(HtmlInputText)item.Cells[1].FindControl(pro_id2);
}
txtcell1和txtcell2均为空,
int c=item.Cells[1].Controls.Count;
c=0
为什么找不到呢?????