我使用以下代码创建了一个文本框控件数组,其中在从组合框中选择的值的基础上生成了no.of控件
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Dim lstTextBox = New List(Of TextBox)()
For i As Integer = 0 To DropDownList1.SelectedValue
for j as integer =0 to 3
Dim txtbx As New TextBox()
txtbx.ID = String.Format("txtbx{0}", j)
lstTextBox.Add(txtbx)
txtbx.Text = "sample text " & j
form1.Controls.Add(txtbx)
next
Next
Session("lstTextBox") = lstTextBox
End Sub
现在我需要在单击按钮时将值插入数据库,此处代码为
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
dim mysql as string
mysql="insert into mytable values("
Dim lstText = New List(Of TextBox)()
lstText = Session("lstTextBox")
For i As Integer = 0 To lstText.Count - 1
for j as integer =0 to 3
mysql= mysql & "'" & trim(lstText(j).Text) & "',"
next
'使用mysql字符串为每一行执行insert 下一个 结束子
现在问题是:只有文本框中的初始值插入到数据库中,我在文本框中所做的更改不会插入到数据库中。即,在会话中,文本框中的文本更改初始值不会更改。
我需要一个解决这个问题的方法来继续我的工作。如此专业的关注请...积极的回应将不胜感激。
答案 0 :(得分:0)
我不确定VB和My Sql。但我可以给你一些摆脱Session
的方法在DropDownList1_SelectedIndexChanged,
中尝试这样if(Session("lstTextBox"))==null
Session("lstTextBox") = lstTextBox
else
Session.Abandon()
Session("lstTextBox") = lstTextBox
现在你可以检查会话是否正在更新。除了你可以得到你想要的结果。请让我知道输出。