Member 14172062 Ответов: 2

Как я могу показать пользовательский ввод на другую страницу в ASP.NET (в VB.NET)


У меня есть страница WebControls.aspx. У меня есть какое-то текстовое поле на этой странице. Я хочу показать эти данные на другой странице (Results.aspx), когда пользователь нажимает кнопку. У меня есть этот код, но он не работает...

Что я уже пробовал:

'WebControls.aspx
   Private Sub WebControls_Load(sender As Object, e As EventArgs) Handles Me.Load
       If IsPostBack Then
           Dim firstName As String = firstNameTextBox.Text
           Session.Add("Όνομα: ", firstName)
           Session.Add("Επώνυμο: ", lastNameTextBox.Text)
           Session.Add("E-mail: ", emailTextBox.Text)
           Session.Add("Τηλέφωνο: ", phoneTextBox.Text)
           Session.Add("Βιβλίο: ", booksDropDownList.SelectedItem.ToString)
           Session.Add("Λειτουργικό Σύστημα: ", osRadioButtonList.SelectedItem.ToString)


           'Dim ar As New ArrayList()
           'ar.Add("Όνομα: " & firstNameTextBox.Text)
           'ar.Add("Επώνυμο: " & lastNameTextBox.Text)
           'ar.Add("E-mail: " & emailTextBox.Text)
           'ar.Add("E-mail: " & phoneTextBox.Text)
           'ar.Add("Βιβλίο: " & booksDropDownList.SelectedValue)
           'ar.Add("Λειτουργικό Σύστημα: " & osRadioButtonList.SelectedValue)
           'Session("InputData") = ar
       End If

   End Sub


'Results.aspx
    Private Sub Results_Load(sender As Object, e As EventArgs) Handles Me.Load
        For Each keyName In Session.Keys
            outputLabel &= (keyName & Session(keyName))
        Next
        'Dim ar As New ArrayList()
        'ar = Session("InputData")
        'outputListBox.DataSource = ar
        'outputListBox.DataBind()

    End Sub

2 Ответов

Рейтинг:
2

Vincent Maverick Durano

Похоже, вы закомментировали свой код. Кроме того, вам нужно поместить свой код внутрь вашего компьютера. ButtonClick событие вместо того, чтобы Page_Load Вы можете попробовать что-то вроде этого:

Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
End Sub          
           Dim ar As New ArrayList()
           ar.Add("Όνομα: " & firstNameTextBox.Text)
           ar.Add("Επώνυμο: " & lastNameTextBox.Text)
           ar.Add("E-mail: " & emailTextBox.Text)
           ar.Add("E-mail: " & phoneTextBox.Text)
           ar.Add("Βιβλίο: " & booksDropDownList.SelectedValue)
           ar.Add("Λειτουργικό Σύστημα: " & osRadioButtonList.SelectedValue)
           Session("InputData") = ar
           Response.Redirect("Result.aspx")
End Sub


Затем на странице Result.aspx вы можете ссылаться на данные следующим образом:

Private Sub Results_Load(sender As Object, e As EventArgs) Handles Me.Load
       If Session("InputData") IsNot Nothing Then
    		Dim data As ArrayList = CType(Session("InputData"), ArrayList)
		    outputListBox.DataSource = data
        	outputListBox.DataBind()
	End If   
End Sub


Обратите внимание, что Sessions это всего лишь один из вариантов передачи данных с одной страницы на другую. Вы также можете использовать любой из них:

1. Сервер.Метод передачи
2. PostBackURL кнопки
3. Строки запросов
4. Пост запрос


Рейтинг:
14

#realJSOP

Вы должны привести данные к соответствующему типу, даже если это строка. В вашем случае, это ArrayList струн, так что вы должны бросить его соответствующим образом.