asp.net如何将查询生成的列表框值传输到没有NullReferenceException错误的注释列表框?

黑夜

我想做的是从查询生成ListBox上的数据,然后我可以选择一些值,按一个按钮并将这些值移动到另一个ListBox。

当我尝试通过选择值并按按钮从ListBox中移动值时,出现以下错误消息:System.NullReferenceException:'Object reference not set to an instance of an object.'我认为这是因为我正在对该值进行引用,而我没有创建实例的价值(如果我错了,请纠正我)

为了解决这个问题,我相信我可能必须实例化数组中的每个查询值才能添加到列表框中。

如果这是正确的,那么实现该数组的正确方法是什么?

我如何填充列表框

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    FillSitesListbox()
End Sub

Private Sub FillSitesListbox()

    Try
        dt = SQL.ExecQuery("SELECT s.Str_ID, s.Nm, d.str_grp_id, (Cast(s.Str_ID As varchar) + ' - ' + s.Nm + ' [ ' + Cast(d.str_grp_id As varchar) + ' ]' ) as IDDesc
                            FROM Retail_Store s left outer join store_group d on ( s.str_id = d.str_id ) 
                                ORDER BY s.Str_ID")

    Catch ex As Exception
        MsgBox(ex.Message)
        Exit Sub
    End Try

    SitesListBox.DataTextField = "IDDesc"
    SitesListBox.DataSource = dt
    SitesListBox.DataBind()
End Sub

我如何在ListBoxes之间移动值

Protected Sub FromSiteButton_Click(sender As Object, e As EventArgs) Handles FromSiteButton.Click

    SitesListBox.Items.Add(StoresListBox.SelectedItem)
    SitesListBox.Items.Remove(SitesListBox.SelectedItem)

End Sub

Protected Sub FromStoreButton_Click(sender As Object, e As EventArgs) Handles FromSTOREButton.Click

    StoresListBox.Items.Add(SitesListBox.SelectedItem)
    StoresListBox.Items.Remove(SitesListBox.SelectedItem)

End Sub

我如何执行查询

Public Function ExecQuery(query As String) As DataTable

    Dim DBDT = New DataTable
    Using DBCon As New SqlConnection(ConStr),
            DBCmd As New SqlCommand(query, DBCon)
        Params.ForEach(Sub(p) DBCmd.Parameters.Add(p))
        Params.Clear()
        DBCon.Open()
        DBDT.Load(DBCmd.ExecuteReader)
    End Using
    Return DBDT
End Function

'Add Params
Public Sub AddParam(Name As String, Value As Object)
    Dim NewParam As New SqlParameter(Name, Value)
    Params.Add(NewParam)
End Sub

末级

史蒂夫

似乎移动项目的代码是错误的。
在第一次单击(FromSiteButton_Click)中,将StoresListBox的SelectedItem添加到SiteListBox,然后从SitesListBox中删除SelectedItem。我认为您应该添加到StoreListBox并从“网站”中删除该框的选定项。在FromStore中也发生了同样的情况

无论如何,为了避免使用NRE,您应该始终在使用参考变量之前测试它们是否为Nothing。

Protected Sub FromSiteButton_Click(sender As Object, e As EventArgs) Handles FromSiteButton.Click

    If SitesListBox.SelectedItem IsNot Nothing Then
        StoresListBox.Items.Add(SitesListBox.SelectedItem)
        SitesListBox.Items.Remove(SitesListBox.SelectedItem)
    End If

End Sub

Protected Sub FromStoreButton_Click(sender As Object, e As EventArgs) Handles FromSTOREButton.Click

    If StoresListBox.SelectedItem IsNot Nothing Then
        SitesListBox.Items.Add(StoresListBox.SelectedItem)
        StoresListBox.Items.Remove(StoresListBox.SelectedItem)
    End If
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将选定的列表框值从一个列表框发送到ASP.NET MVC中的另一个

如何将其他数据绑定到asp.net列表框控件?

ASP.NET(VB) 列表框不会将所有选定的项目移动到其他列表框

在列表框asp.net中指向列表项

以asp.net Web形式将文本从文本框添加到列表框

ASP.net中的列表框工具提示问题

ASP.NET MVC“可编辑”列表框

如何基于asp.net mvc4中的模型列表填充列表框?

如何将列表框项目保存在asp.net [服务器端]的文本文件中?

基于ASP.Net中列表框中选择的值动态创建选项卡

处理asp.net核心表单中的多选列表框值,并提交多条记录

如何将项目从列表框传输到集合VB.NET

如何从asp.net中的列表框的选定项目中删除

ASP.NET列表框所选项目更改文本框文本

如何在asp.net中悬停时突出显示一行多个列表框?

如何在ASP.NET MVC中创建交换列表框或任何其他功能

ASP.Net MVC和状态-如何通过双列表框中的Session更改来更新数据库?

如何在asp.net C#中操纵字符串并从列表框绑定中删除“ \”

如何在ASP.NET MVC应用程序中进行列表框的客户端验证

ASP.Net MVC 5在加载时选择列表框中的多项

使用asp.net core 2.2创建类别和子类别相关的列表框

selectindexchanged上的asp.net列表框不会触发事件

ASP.net列表框-即使使用!ispostback,选择索引也始终为-1

使用 ASP 日历作为触发器将数据从 SQL 表填充到列表框

c#将列表项传输到列表框

如何在 VB 6.0 中将值从列表框传输到组合框

想要在页面加载时填充列表框值而不使用 asp.net mvc 中的任何数据库

如何将组合框值与列表框中的项目进行比较-vb.net

如果使用 c# 在 asp.net 中包含字符串,则选择列表框项