麻烦" string.contains"函数

时间:2018-05-23 19:19:13

标签: asp.net vb.net

我正在撰写一个网络表单,每个旅行请求都有一个唯一的travelID。 (见下图中的空白栏,我没有足够的声誉将图片嵌入到这里)

TravelID

有些旅行要求附有文件,有些则没有。我写了这段代码:

    Dim dirs As String() = Directory.GetFiles("E:\DomainWebs\Intranet\fileups\TravelDocs\")
    Dim i As Integer = 0

    For Each GridRecord As GridRecord In TravelWebDataGrid.Rows

        For Each doc As String In dirs

            If doc.Contains(TravelWebDataGrid.Rows(i).Items(10).Value) = True Then

                TravelWebDataGrid.Rows(i).Items(11).Value = True

            End If

        Next

        i += 1

    Next

仅供测试,只有顶级旅行申请附有文件。正如您所看到的,它正在检查第二行复选框,即使它没有附加任何文档。

这是与第2行比较的内容:

"DocName" - E:\DomainWebs\Intranet\fileups\TravelDocs\RONNIEP20180124141116-Hello.docx
"TravelID" - RONNIEP20180124135357

有谁知道为什么会这样做?如果您需要更多信息,请与我们联系。提前感谢您的回复。

1 个答案:

答案 0 :(得分:0)

这可能是关闭的,因为我还没有使用数据网格,但看起来代码已经过度复杂了。你能做到吗?

' you're looping gridrecords/rows.
For Each GridRecord As GridRecord In TravelWebDataGrid.Rows
    For Each doc As String In dirs
        ' use the gridrecord here, not rows(i).
        If doc.Contains(GridRecord.Items(10).Value) = True Then
            ' and here.
            GridRecord.Items(11).Value = True
        End If
    Next
Next