从listview中删除项目时出错

时间:2013-03-18 09:44:10

标签: asp.net

您好,

我这里有问题。我有一个数据表,数据显示在listview中。这是后面的代码函数。

Protected Sub ListView1_ItemCommand(ByVal sender As Object, ByVal e As ListViewCommandEventArgs)
        If (e.CommandName) = "Sort" Then
            Dim txteno As Label = DirectCast(e.Item.FindControl("lblID"), Label)
            /* Error here Dim deletecommand As String = "delete from dt where ID=" & Convert.ToInt32(txteno.Text)
            Session("dt").DeleteCommand = deletecommand
        End If
    End Sub

当我按下删除按钮时出现错误,说“输入字符串格式不正确”。谁知道这里有什么问题?

2 个答案:

答案 0 :(得分:0)

问题是由

引起的

Convert.ToInt32(txteno.Text)

并且txteno.Text的值不是有效整数。

尝试运行代码时txteno.Text的值是多少?

作为解决方法,请改用Integer.TryParse

Dim number As Integer

If Integer.TryParse(txteno.Text, number) Then

 ' Do the delete....
End If

答案 1 :(得分:0)

您的问题是,您无法使用e.Item.FindControl方法访问ListView_ItemCommand

FindControl仅适用于渲染时间,即ListView_ItemDataBound方法。

一种可能的解决方案是从列表中或直接从数据库中检索项目。为此,您可以使用e.Item.DataItemIndex来检索行的ID。