首页 > 解决方案 > 使用 HTML 和 VB.NET 的 Web 应用程序上的输入字符串格式不正确

问题描述

我在工作中继承了这段代码,现在遇到了一些问题。当我运行这段代码时,我不断收到这行代码的错误

p = CInt(v.Substring(1, c - 2))

我在一个表中有 2 个复选框 第一个为一个人投票,第二个复选框为您在复选框旁边的文本框中输入姓名的人投票。有时它有效,有时则无效。

当文本框中包含大写“C”时,它也不喜欢。

Public Function CreateVotingDataTable(votes As String) As DataTable
        Dim dt As New DataTable
        Dim c1 As New DataColumn("position", GetType(Integer))
        Dim c2 As New DataColumn("sequence", GetType(Integer))
        Dim c3 As New DataColumn("wivalue", GetType(String))
        dt.Columns.Add(c1)
        dt.Columns.Add(c2)
        dt.Columns.Add(c3)


        Dim votearray = votes.Split("|")
        Dim p As Integer = 0
        Dim s As Integer = 0
        Dim writein As String = String.Empty

        If votes.Length <> 0 Then

            For Each v As String In votearray

                writein = String.Empty
                Dim w As Integer = InStr(v, "#")
                Dim c As Integer = InStr(v, "C")
                If c = 0 Then
                    c = InStr(v, "W")
                End If
                p = CInt(v.Substring(1, c - 2))
                If w > 0 Then
                    s = CInt(v.Substring(c, w - c - 1))
                    writein = v.Substring(w, Len(v) - w)
                Else
                    s = CInt(v.Substring(c, Len(v) - c))
                End If
                Dim r As DataRow = dt.NewRow
                r("position") = p
                r("sequence") = s
                r("wivalue") = writein

                dt.Rows.Add(r)

            Next

        End If

        Return dt


    End Function

输入到文本框中的值应由数据表传递到下一页。有时会起作用,但是当您返回将值更改为另一个复选框时,它会给我输入字符串的格式不正确或参数超出范围异常:

长度不能小于零。

有人有什么想法吗?

标签: htmlsql-servervb.net

解决方案


推荐阅读