2011-06-23 14 views
0

何らかの理由で、DataGrid(asp.net)コントロールのチェックボックスをチェックしてリンクボタンをクリックしても、チェックボックスの値を読み取っても何らかの理由があります。それはチェックされていないと言います。Datagrid CheckBox Column CheckBoxの値にアクセスできない

<asp:TemplateColumn HeaderText="Selection"> 
      <ItemTemplate> 
      <asp:CheckBox id="chkSelect" runat="server" /> 
      </ItemTemplate>    
      </asp:TemplateColumn>  

    For Each dgi As DataGridItem In dgReceipts.Items 

       Dim isChecked As Boolean = TryCast(dgi.FindControl("chkSelect"), CheckBox).Checked 

    next 

UPDATE 1:

私はまた、テキストボックスの列と同じ問題の値にアクセスしようとしました。値は空白になります。

+0

initまたはloadで再バインドしています。 – kakridge

+0

私はinitまたはloadにバインドしていないことを確認しました。 –

+1

コードを追加してください。あなたは問題を診断するのに十分な量を与えていません。 – kakridge

答えて

0

GridViewをどのようにバインドしていますか?ページがポストバックしていない場合にのみバインドしていますか?たとえば、ページ・ロード・イベントでバインディングしていて、ポスト・バックをチェックしていない場合、ポスト・バックは選択内容を吹き飛ばすでしょう。より多くのコードを見ることなく、正確な原因を特定することは困難ですが、通常、バインド時にポストバックをチェックしないのは、このタイプの問題の根本原因です。

+0

私はpage_loadの中にバインドしていません。ユーザーが検索ボタンをクリックすると、グリッドが表示されます。そのユーザーがチェックボックスをチェックし、clickイベントを発生させる別のリンクボタンを押します。そこではチェックされたチェックボックスとテキストボックスの値にアクセスしようとし、falseやString.emptyのようなデフォルト値を返します –

0

複数の行にチェックボックスがあり、そのいずれかにfalseが表示されているか、グリッドが再バインドされています。確認のためにコードを追加する必要があります。

+0

これはすべてのチェックボックスがオンになっても起こります。私は間違っている! –