Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DNN Dal+;-检索单个信息类集合项(vb.NET)_Vb.net_Collections_Find_Contains_Dotnetnuke - Fatal编程技术网

DNN Dal+;-检索单个信息类集合项(vb.NET)

DNN Dal+;-检索单个信息类集合项(vb.NET),vb.net,collections,find,contains,dotnetnuke,Vb.net,Collections,Find,Contains,Dotnetnuke,我似乎找不到任何有效的答案。以下是设置: 信息类: Public Class ProductStageInfo Private _ProductNumber As String Private _ProductReference As String Public Sub New() End Sub Public Property ProductNumber() As String Get Return _Pro

我似乎找不到任何有效的答案。以下是设置:

信息类:

Public Class ProductStageInfo

    Private _ProductNumber As String
    Private _ProductReference As String

    Public Sub New()
    End Sub

    Public Property ProductNumber() As String
        Get
            Return _ProductNumber
        End Get
        Set(ByVal Value As String)
            _ProductNumber = Value
        End Set
    End Property

    End Class
等等;我在info类中有四个类声明,上面的一个有十五个不同的项-产品编号、产品引用、产品名称等等。另一个是目录分类,即产品处于哪个生产阶段,质量保证问题;等等

然后在DNN的控制器类中,我通过对部署在上的DB DNN的查询来填充这些不同的信息类;例如:

       Public Shared Function LoadStages(ByVal ProductNumber As String) As List(Of ProductStageInfo)
        Return CBO.FillCollection(Of ProductStageInfo)(CType(DataProvider.Instance().ExecuteReader("Product_LoadStages", ProductNumber), IDataReader))
    End Function
到目前为止一切正常,我可以使用和在代码隐藏中填写数据列表:

  Dim ProductStageList As List(Of ProductStageInfo)

            ProductStageList = ProductController.LoadStages(ProductNumber)

            ProductStageDataList.DataSource = ProductStageList
            ProductStageDataList.DataBind()
到目前为止,一切都很好

但现在我需要允许个人“创建”阶段,业务需求之一是人们不应该在包装阶段之前创建交付阶段

那么,我如何在一个集合中“找到”一个产品编号、产品参考、阶段编号呢?我想我可以用某个产品编号的所有阶段填充集合,然后执行if/then stage=0 find,stage>5 find,等等

If ProductStageList.Contains(strProductNumber) then

end if
提供类型字符串的错误值无法转换为namespace.ProductStageInfo;ProductStageList也是如此。查找

也许我只是不了解整个收藏/索引/事情。我找到的所有示例都是关于一维集合的-“如何在该集合中查找名称”,响应使用字符串搜索这些集合,但不知何故,Info类的处理方式有所不同,我不确定如何翻译这些

任何提示、提示、建议、教程。。。。感谢:)


谢谢

我肯定是通过复习另一个模块找到了答案;基本上,我需要创建一个空对象,而不是同一类的列表对象,并使用这两个对象迭代使用for/each等

        Dim objStages As ProductStagesInfo
        Dim intStages, StageSelected As Integer
        Dim intStageOption As Integer = -1
        Dim blnValid As Boolean = True
        Dim ProductChosen As String = lblStagesCNHeader.Text
        Dim ProductStageList As List(Of ProductStagesInfo) = ProductController.LoadStages(ProductChosenNumber)

        For intStages = 0 To StageList.Count - 1
               objStages = StageList(intStages)
                 intStageOption += 1

                Select objStages.StageSetNumber
                      Case "0"

                Next
objStages.uu为我提供了获取执行业务逻辑所需的数据的能力

此外,ProductStageList.Item(0).ToString显示namespace.ProductStageInfo。。。。。不是集合中的第一项;更不用说集合中第一项的第四个get/dimension/property了。。。也许这就是我不理解的=/