我似乎无法找到任何有用的答案。这是设置:
信息类:
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的Controller类中,我通过查询将各种信息类填充到部署的数据库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
并且到目前为止一切正常,我可以使用<%#DataBinder.Eval(Container.DataItem,“ProductNumber”%>和后面的代码填充数据列表:
Dim ProductStageList As List(Of ProductStageInfo)
ProductStageList = ProductController.LoadStages(ProductNumber)
ProductStageDataList.DataSource = ProductStageList
ProductStageDataList.DataBind()
到目前为止,非常好......
但现在我需要允许个人“创造”阶段,其中一项业务需求是人们不应该在包装阶段之前创建一个交付阶段。
那么,我如何在一个集合中“找到”产品编号,产品参考,阶段编号?我以为我可以用某个产品编号的所有阶段填充集合,然后执行if / then stage = 0 found,stage> 5找到等等。
If ProductStageList.Contains(strProductNumber) then
end if
给出string类型的错误值,不能转换为namespace.ProductStageInfo;对于ProductStageList.Find ...
也是如此也许我只是不了解整个集合/索引/事物。我发现的所有示例都是关于单维集合 - “如何在此集合中查找名称”,并且响应使用字符串来搜索它们,但不知何故Info类的处理方式不同,我不知道如何翻译这个......
任何提示,技巧,建议,教程....欣赏它:)
谢谢!
答案 0 :(得分:0)
很确定我刚刚通过审查另一个模块找到答案;基本上我需要创建一个空对象而不是同一个类的列表对象,并使用这两个来迭代使用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。 _ 让我能够获取做业务逻辑所需的数据
<。<
一看到它就显得如此简单,希望我能将它全部存放在我的大脑中嗒嗒!