この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>
ポストバックは、おそらくchkAllが保持する値をリセットしている可能性があります。おそらくあなたはポストバックのグリッドを再バインドしています – kd7
良い点が、私はちょうどこのチェックボックスを追加しました。元のコードにはありませんでした。リバインディングは理にかなっていますが、これは私が追加した余分なフィールドです。残りの列はSQLデータソースにバインドされています。 –
'AutoPostBack =" True "を追加すると、その値が失われた状態でポストバックされます。私は 'OnCheckedChanged =" debug_checkChanged "'を追加して、値がどこで変更されているかを追跡しましたが、チェックボックスの値がポストバックで変更されたとしてもイベントは起動しません。 –