如何在vb asp.net2010中获取数组元素作为输出

如何在vb asp.net2010中获取数组元素作为输出,asp.net,vb.net,Asp.net,Vb.net,在这个程序中,我创建了一个数组,当单击get按钮时,它不会显示任何输出,因为str变量为空。我应该如何获得正确的输出 Partial Class dynamic_array Inherits System.Web.UI.Page Dim s(2) As String Dim str As String Protected Sub btn_save_Click(sender As Object, e As System.EventArgs) Handles b

在这个程序中,我创建了一个数组,当单击get按钮时,它不会显示任何输出,因为str变量为空。我应该如何获得正确的输出

Partial Class dynamic_array
    Inherits System.Web.UI.Page
    Dim s(2) As String

    Dim str As String


    Protected Sub btn_save_Click(sender As Object, e As System.EventArgs) Handles btn_save.Click

        Dim i As Integer = 0
        For i = 0 To s.Length - 1
            s(i) = InputBox("enter name " + (i + 1).ToString)
        Next



    End Sub

    Protected Sub btn_get_Click(sender As Object, e As System.EventArgs) Handles btn_get.Click
        Dim i As Integer = 0
        str = ""

        For i = 0 To s.Length - 1
            str &= s(i) + vbCrLf
        Next

        MsgBox(str)

    End Sub
End Class

在Asp.Net中,页面级别上设置的所有变量在每次回发时都会重置。这就是为什么s变量在点击get按钮时总是为空

例如,您可以将此信息保存在


我鼓励您熟悉Asp.Net web表单的基本状态管理:

您可以使用会话视图状态来存储数组值

像这样试试

Partial Class dynamic_array
Inherits System.Web.UI.Page
Dim s(2) As String

Dim str As String


Protected Sub btn_save_Click(sender As Object, e As System.EventArgs) Handles btn_save.Click

    Dim i As Integer = 0
    For i = 0 To s.Length - 1
        s(i) = InputBox("enter name " + (i + 1).ToString)
    Next



 ViewState("Array")=s

End Sub

Protected Sub btn_get_Click(sender As Object, e As System.EventArgs) Handles btn_get.Click
    Dim i As Integer = 0
    str = ""
s=  ViewState("Array")
    For i = 0 To s.Length - 1
        str &= s(i) + vbCrLf
    Next

    MsgBox(str)

End Sub
End Class

希望这会有所帮助,如果有帮助,请标记为有用。

@Terror.Blade现在它是可见的(代码重新格式化)
Partial Class dynamic_array
Inherits System.Web.UI.Page
Dim s(2) As String

Dim str As String


Protected Sub btn_save_Click(sender As Object, e As System.EventArgs) Handles btn_save.Click

    Dim i As Integer = 0
    For i = 0 To s.Length - 1
        s(i) = InputBox("enter name " + (i + 1).ToString)
    Next



 ViewState("Array")=s

End Sub

Protected Sub btn_get_Click(sender As Object, e As System.EventArgs) Handles btn_get.Click
    Dim i As Integer = 0
    str = ""
s=  ViewState("Array")
    For i = 0 To s.Length - 1
        str &= s(i) + vbCrLf
    Next

    MsgBox(str)

End Sub
End Class