2017-07-08 55 views
-2

我收到未设置为对象实例的对象引用错误。gridview查找控件中的对象引用错误

错误即将在下一行

cmd.Parameters.AddWithValue("empname", empname); 

,这是我怎么做的FindControl的编码

GridViewRow grdupd = grdemp.Rows[e.RowIndex]; 
    studentclass std = new studentclass(); 
    Label empid = (Label)grdupd.FindControl("lblempid"); 
    TextBox empname = (TextBox)grdupd.FindControl("txtname"); 

这里是我的GridView

  <asp:TemplateField HeaderText="Employee Name"> 
       <ItemTemplate> 
        <asp:Label ID="lblname" runat="server" Text='<%#Eval("empname") %>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="txtname" runat="server" Text='<%#Eval("empname") %>'></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 

是什么在我的代码错误,为什么我得到空引用的错误,为什么我无法从gridvi传递数据EW到后端

+0

可能的复制[什么是一个NullReferenceException,以及如何解决?(https://开头计算器。 com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –

+0

纠正你的标题 – AsifAli72090

回答

1

如果错误是在下面一行就像你说的话,肯定还没有宣布SqlCommand对象说SqlCommand cmd = new SqlCommand(...)等错误

cmd.Parameters.AddWithValue("empname", empname); 

此外,由斯蒂恩评论;你实际上是添加TextBox控制为参数,而应该使用Text物业办的这么喜欢

cmd.Parameters.AddWithValue("empname", empname.Text); 
+0

还有一件事是他们试图将一个文本框作为参数添加到一个sql命令中,而不是文本框的*值*。但那不是他们最大的问题。 –

+0

@ J.Steen,经典的小姐......感谢您指点 – Rahul