Findcontrol Listview Edit - NullreferenceException

时间:2011-05-27 13:06:03

标签: c# asp.net

我有一个相当奇怪的问题。我有一个可编辑的ListView,但是当我点击编辑时,一旦我尝试获取文本框,我通常会得到NullreferenceException。但是错误不一致,有时它存在,有时不存在。我很困惑。

这是代码snippit:

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>

1 个答案:

答案 0 :(得分:1)

将您的test_ItemEditing代码替换为以下

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

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

    test.DataBind();
}

并处理test_ItemUpdating事件以查找控件并更新数据。