データグリッド形式のショッピング カートの数量変更に使用するテキスト ボックスがあります。編集リンクボタンをクリックすると、テキストボックスを変更できます。私が取得しようとしているのは、dataTable の元の数量を置き換えるための変更されたテキストです。いろいろ試してみましたが、変更した値を保持できません。
最終的に dataTable を変更するコードは次のとおりです。
For Each objDR In myDataTable.Rows
If objDR("ItemID") = intItemID Then
objDR("Quantity") = Int32.Parse(myText) 'adding a specific int like 333 works
Exit For
End If
Next
前述のように、「333」などの特定の値を入力すると、数量が変わります。そのため、更新をクリックしたときにテキストボックスの値が保持されないことに問題があるか、少なくともそれが私の見方です。
私が試したテキストボックスのテキストにアクセスするためのコード:
Dim myText As String
For Each dataGridItem As DataGridItem In dgCart.Items
myText = CType(dataGridItem.FindControl("txtQuantity"), TextBox).Text
'myText = DirectCast(dataGridItem.FindControl("txtQuantity"), TextBox).Text
Next
have also tried
'Dim strQuantity As String = CType(dgCart.Items(0).FindControl("txtQuantity"), TextBox).Text
と
'Dim txtQuantity As TextBox = e.Item.FindControl("txtQuantity")
また、txtbox のビューステートをいじってみましたが、違いはありません。
これを修正するにはどうすればよいですか?