2011-07-13 7 views
0

このGridViewに問題があります。私はデザインモードでそれを更新し、更新はコードビハインドセクションにはなりません。たとえば、フィールド「xyz」を追加します。 Gridviewによると、 "xyz"フィールドはデザインモードで存在します。コードビハインドでは、それは存在しません。ブラウザーでページを表示すると、ofcoure "xyz"フィールドは表示されません。リフレッシュ後、グリッドビューでさえデザインモードでこのフィールドが失われます。だから私はこの問題を回避し、今働いているテンプレートフィールドを追加することができました。GridViewのチェックボックスが永続的でないASP.NET

問題は、列の1つに追加したチェックボックスが永続的ではないということです。選択したチェックボックスの値で動作するボタンがありますが、ボタンをクリックするたびにページが再表示され、チェックされた値はすべて失われます(チェック値はチェックされなくなります)。

誰もが考えていますか?

私はちょっと混乱したコードで作業しています。しかし、今はたくさん変えたくありません。

<asp:TemplateField HeaderText="All" > 
       <HeaderTemplate> 
        <asp:CheckBox ID="chkAll" runat="server" name="chkAll" /> 
       </HeaderTemplate> 
       <EditItemTemplate> 
        </EditItemTemplate> 
       <ItemTemplate> 
        <asp:CheckBox ID="chkRow" runat="server" />  
       </ItemTemplate> 
      </asp:TemplateField> 
+0

ポストバックは、おそらくchkAllが保持する値をリセットしている可能性があります。おそらくあなたはポストバックのグリッドを再バインドしています – kd7

+0

良い点が、私はちょうどこのチェックボックスを追加しました。元のコードにはありませんでした。リバインディングは理にかなっていますが、これは私が追加した余分なフィールドです。残りの列はSQLデータソースにバインドされています。 –

+0

'AutoPostBack =" True "を追加すると、その値が失われた状態でポストバックされます。私は 'OnCheckedChanged =" debug_checkChanged "'を追加して、値がどこで変更されているかを追跡しましたが、チェックボックスの値がポストバックで変更されたとしてもイベントは起動しません。 –

答えて

0

これは、自分自身を理解するのに数日かかりました。私のコードはかなり面倒だったので、トラブルシューティングは難しかったです。

最終的に修正されたpage_loadデフォルトイベントでコードを挿入しました。コードを間違った場所に置いていたのかどうかは分かりません。それは間違いなく時間がかかりました。

関連する問題