如何在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

为什么找不到呢?????
...全文
151 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
李天平 2004-08-02
  • 打赏
  • 举报
回复
我换了种方式,先把控件添加进去,而不是动态的Add(txt1);
可以找到了,但不知为什么?
李天平 2004-07-30
  • 打赏
  • 举报
回复
我换成TextBox 控件,为什么还找不到????????????

TextBox txt1=new TextBox();
txt1.ID="Product"+Serial.ToString();
txt1.BorderStyle=BorderStyle.None;
txt1.Style["BACKGROUND-COLOR"]="transparent";
string Product_id=(string)DataBinder.Eval(e.Item.DataItem, "Product_id");
txt1.Text=Product_id;
e.Item.Cells[1].Controls.Add(txt1);



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();
TextBox txt1=(TextBox)item.Cells[1].FindControl(pro_id);
//用HtmlInputText控件的id;
string pro_id2="Product"+serial.ToString();
TextBox txt12=(TextBox)item.Cells[1].FindControl(pro_id);

}

txt1,txt12还是为空,怪??
到底在DataGrid的单元格里查找控件的关键在哪里呢??
win911 2004-07-30
  • 打赏
  • 举报
回复
我是在代码里这么动态生成的控件,算不算服务端控件?
HtmlInputText text1=new HtmlInputText("Text");
text1.Attributes.Add("runat","server");
BenZ004 2004-07-30
  • 打赏
  • 举报
回复
再加上:text1.Attributes.Add("runat","server")
hillseok 2004-07-30
  • 打赏
  • 举报
回复
你这样加的恐怕不是web控件,还是用textbox吧
要不然实施看text1.Runat = server;
李天平 2004-07-30
  • 打赏
  • 举报
回复
to:haohaohaohao()
我是在代码里这么动态生成的控件,算不算服务端控件?
HtmlInputText text1=new HtmlInputText("Text");

又如何加:runat=server;
李天平 2004-07-30
  • 打赏
  • 举报
回复
顶一下
李天平 2004-07-30
  • 打赏
  • 举报
回复
顶一下
lehehe 2004-07-30
  • 打赏
  • 举报
回复
从你的代码看,你是在服务器端使用HtmlInputText控件的,那么在html文件中必须加上runat=server;
李天平 2004-07-30
  • 打赏
  • 举报
回复
有碰到的,请帮小弟一下,再次多谢!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧