2011-05-27 63 views
0

我有一个相当奇怪的问题。然而,我有一个可编辑的ListView,当我点击编辑时,一旦我尝试获取文本框,我通常会得到NullreferenceException。但是错误并不一致,有时候会出现,有时候不会。我很困惑。Findcontrol Listview编辑--NullreferenceException

这是代码片段:

public void test_ItemEditing(Object sender, ListViewEditEventArgs e) 
{ 

    // Liest die SpeiseID mit der die Daten aus der Datenbank extrahiert werden können 
    DataKey currentDataKey = speiseplanListView.DataKeys[e.NewEditIndex]; 

    TextBox editDatum = (TextBox)speiseplanListView.EditItem.FindControl("txtDatum"); 


} 

这是asp.net文件:

<EditItemTemplate> 
    <tr> 
     <td><asp:TextBox ID="txtDatum" runat="server"></asp:TextBox></td> 
     <td><asp:TextBox ID="txtSpeise" runat="server"></asp:TextBox></td> 

    </tr> 
</EditItemTemplate> 
+0

哪个事件是test_ItemEditing绑定的? – Hogan 2011-05-27 13:12:42

+0

theXs 2011-05-27 13:21:16

回答

1

地下1

public void test_ItemEditing(Object sender, ListViewEditEventArgs e) 
{ 
    lvEmployee.EditIndex = e.NewEditIndex; 

    test.DataSource = GetData("Select * from Table"); 

    test.DataBind(); 
} 

更换你test_ItemEditing代码和处理test_ItemUpdating用于查找控制和更新数据的事件。

+0

该行加载内容,我没有收到异常,但不幸的是该行未显示在文本框中 - 但像通常的标签一样(如在“非编辑”事件中)。 – theXs 2011-05-27 13:18:58

+0

在edititem模板中绑定文本框的值,例如 2011-05-27 13:20:58