ページの読み込み時に、UserId、serviceNo、前名、および姓が入力されたグリッドビューがあります。ページにはクエリ文字列 (NewTrain) である ID があり、これをさまざまなユーザー (UserId) と共に DB テーブルに一括挿入します。これは私がすでに行うことができ、機能します。ただし、今やりたいことは、GridView の行のみを挿入し、チェックボックスがオンになっていることです!
私はしばらくこれを試してきましたが、継続的に問題に遭遇しました。
2 つの異なるシナリオを試しましたが、同じ結果に遭遇しました
誰でも助けてもらえますか?
1.
Protected Sub btnAttend_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim myTrain As String = Request.QueryString("NewTrainId")
If myTrain IsNot Nothing Then
Dim strQuery As String
Dim cmd As SqlCommand
For x As Integer = 0 To GridView1.Rows.Count - 1
Dim chkBox As CheckBox = DirectCast(GridView1.Rows(x).FindControl("RowLevelCheckBox"), CheckBox)
If chkBox.Checked Then
Dim lblUsr2 As HtmlInputHidden = CType(GridView1.Rows(x).FindControl("txtUsr"), HtmlInputHidden)
Dim userID As Guid = New Guid(lblUsr2.Value().ToString)
Dim HidTrainId As HtmlInputHidden = FindControlRecursive(MultiTabs, "txtTrainId")
strQuery = "Insert into userAssessmentTbl(tt_id, UserId)values(@NewTrainId, @UserId)"
cmd = New SqlCommand(strQuery)
cmd.Parameters.AddWithValue("@UserId", userID)
cmd.Parameters.AddWithValue("@NewTrainId", myTrain)
InsertUpdateData(cmd)
End If
Next
End If
End Sub
2.
Protected Sub btnAttend_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim myTrain As String = Request.QueryString("NewTrainId")
If myTrain IsNot Nothing Then
Dim strQuery As String
Dim cmd As SqlCommand
For Each rowItem As GridViewRow In GridView1.Rows
Dim chkBox As CheckBox = DirectCast(rowItem.FindControl("RowLevelCheckBox"), CheckBox)
If chkBox IsNot Nothing AndAlso chkBox.Checked Then
Dim lblUsr2 As HtmlInputHidden = CType(rowItem.FindControl("txtUsr"), HtmlInputHidden)
Dim userID As Guid = New Guid(lblUsr2.Value().ToString)
Dim HidTrainId As HtmlInputHidden = FindControlRecursive(MultiTabs, "txtTrainId")
strQuery = "Insert into userAssessmentTbl(tt_id, UserId)values(@NewTrainId, @UserId)"
cmd = New SqlCommand(strQuery)
cmd.Parameters.AddWithValue("@UserId", userID)
cmd.Parameters.AddWithValue("@NewTrainId", myTrain)
InsertUpdateData(cmd)
End If
Next
End If
End Sub