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

FindControl是不是找不html控件
<asp:TemplateField   HeaderText= "关键字 ">
      <ItemTemplate>
      <input   id= "SearchKey "   ondblclick= "OpenDlg(this, ' <%#Eval( "page ")%> ') "   runat= "server "     type= "text "   />
      </ItemTemplate>
</asp:TemplateField>

HtmlInputText   Txt   =   new   HtmlInputText();
Txt   =   (HtmlInputText)this.SearchSelected.Rows[I].Cells[C].FindControl( "SearchKey ");


我想在服务端获取   id= "SearchKey "   里面的文本值,可是就是找不到控件。


------解决方案--------------------
可以, 只有具有 runat=server
------解决方案--------------------
试试:

HtmlInputText
Txt = (HtmlInputText)this.SearchSelected.Rows[I].FindControl( "SearchKey ");
------解决方案--------------------
HtmlInputText Txt = new HtmlInputText(); // 何必再 new 一个?浪费 CPU & Memory
Txt = (HtmlInputText)this.SearchSelected.Rows[I].Cells[C].FindControl( "SearchKey "); // 发现这多人,用 FindControl 还指定 Cell ,多此一举,且易错,到底你们都是哪里学的?

》》》

HtmlInputText Txt = (HtmlInputText)this.SearchSelected.Rows[I].FindControl( "SearchKey ");
------解决方案--------------------
呵呵,楼上的嘴好厉害!
------解决方案--------------------
指定cell可以缩小搜索集合的范围吧
------解决方案--------------------
指定cell可以缩小搜索集合的范围吧

=========

那还不如, GridView11.Rows[rowIndex].Cells[cellIndex].Controls[ctrlIndex] 效率更高

但,维护性差 ....

------解决方案--------------------
强加于人只因为你比他强那么一点点
------解决方案--------------------
整个方法贴出来才找得到毛病
------解决方案--------------------
回复人:lvony(授人以鱼不如授人以渔,想上海谋生) ( 一级(初级)) 信誉:100 2007-8-14 16:28:21 得分:0
强加于人只因为你比他强那么一点点

能不能问下大虾:这句是什么意思?我不是很明白。