2012-03-16 11 views
0

から検索し、コードビハインドで割り当てられ、テキストが表示されない:プログラムで作成したテキストボックスは、私はこのようになりますasp.netのフォーム持つDB

  1. 一年未満の
  2. Age in years[]____________

1,2はradiobuttonlist、2は#2が選択されていると入力を受け付けるテキストボックスを持っています。 このフォームは問題なく保存されていますが、結果を表示しようとすると問題が発生します。

私はこれらのラジオボタンリストとテキストボックスをコードビハインドで作成しました。今私は答えを表示しようとしているとき、私はGridview.rowDataboundでこれらのコントロールを再度作成し、sqlDataReaderを使用してデータベースから値を取得しています。コードは次のようになります。

  Dim txtOther As New TextBox 
      txtOther.ID = "txtOther" 

      Dim strOtherTxt As String = "Why the **** this isn't working" 


      fillResponse(rdoLstOption, txtChildID.Text, intQuestionID, strOtherTxt) 

      txtOther.Text = strOtherTxt 

      e.Row.Cells(2).Controls.AddAt(0, rdoLstOption) 
      e.Row.Cells(2).Controls.AddAt(1, txtOther) 

そしてfillResponseは、次のようになります(ここで私はそれがラジオボタンやチェックボックスリストのかどうかチェックしています - 私のCheckBoxListのはどちらか動作していない)

 con.Open() 
     Dim rdr As SqlDataReader 
     rdr = cmd.ExecuteReader 
     If typeCtrlType.Name = "RadioButtonList" Then 
      fillRdoBtnList(ctrlToFill, rdr, strOtherText) 
     ElseIf typeCtrlType.Name = "CheckBoxList" Then 
      fillChckBoxList(ctrlToFill, rdr) 
     End If 
     con.Close() 

そして、ついにfillRdoBtnListは次のようになります。

Private Sub fillRdoBtnList(ByRef rdoBtnListToFill As RadioButtonList, rdr As SqlDataReader, ByRef strOtherTxt As String) 
    While rdr.Read() 
     rdoBtnListToFill.SelectedValue = rdr.GetInt32(rdr.GetOrdinal("fkLuAnswerID")) 
     If Not rdr.IsDBNull(rdr.GetOrdinal("strOtherTxt")) Then 
      strOtherTxt = rdr.GetString(rdr.GetOrdinal("strOtherTxt")) 
     End If 
    End While 
End Sub 

私はstrOtherTxtに期待していた文字列を取得していますが、それはちょうど私の形式で表示されません!私は私のプログラムをデバッグして、私はそれを見つけたtxtその他。テキストは正しいテキストを取得していますが、それでも私のフォームには表示されません!

答えて

0

私はviewstateと関係があったと思います。以前は、PostBackのチェックボックスに選択した値をバインドしていました。しかし、私は別のページで入力を受け取り、その値を私の "チェックボックスリストページ"に送ります。それは問題を解決しました。

ここで何が起こっていたとしても、私はまだ混乱しています。どんな説明もありがたいです。

関連する問題