2015-02-06 45 views
0

我想查找Gridview中的HTML輸入文本。
但我收到錯誤。在Gridview中查找Html輸入

錯誤

Object reference not set to an instance of an object. 

源代碼

<asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField HeaderText="ID" ItemStyle-Width="2%"> 
      <ItemTemplate> 
       <input id="txtNum" runat="server" value='<%#Eval("num") %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

代碼隱藏

HtmlInputText txt1 = (HtmlInputText)gridview1.FindControl("txtNum"); 
txt1.Attributes["type"] = "tel"; 
+1

你找不到這樣的..循環gridview的行..並在該行第一列將有控制一些像這樣的事情的HtmlInputText TXT1 =(的HtmlInputText)gridview1.rows [0] [0] .FindControl( 「txtNum」); – Aswartha 2015-02-06 09:46:10

+0

您想在哪個事件中獲得該值? – 2015-02-06 10:08:42

回答

0

需要找到在GridView的每一行中都有。

代碼

if (gridview1.Rows.Count > 0) 
{ 
    for (int i = 0; i < gridview1.Rows.Count; i++) 
    { 
     HtmlInputControl txt1 = (HtmlInputControl)gridview1.Rows[i].Cells[0].FindControl("txtNum"); 
     txt1.Attributes["type"] = "tel"; 
    } 
}