こんにちは、私はここで本当に奇妙な問題を抱えています。私は実行時に作成する ImageButton と Gridview を持っています。画像ボタンは Web フォームの個別のコントロールであり、Gridview にはリンクされていません。私が達成しようとしているのは、ユーザーが GridView で行の編集を完了し、行の更新ボタンをクリックすると、入力された入力に対して一連の計算を実行することです。入力したデータにエラーが見つかった場合は、クリックするとエラー メッセージが表示される ImageButton を表示します。画像ボタンを表示または非表示にするために使用している関数
picCross.Style.Value = "表示: なし;"
と
picCross.Style.Value = "表示: ブロック;"
Page.PreRender 関数で呼び出されます。私が発見したのは、ユーザーがWebフォームの他の場所でボタンをクリックしたときなど、GridViewによって起動されないポストバック中にImageButtonを変更できることです(ボタンのツールチップを変更し、そのスタイルの値を設定します) . ただし、ユーザーが編集行または更新行ボタン/リンクをクリックしたときなど、GridView のポストバック イベント中に Imagebutton を変更しようとするとします。変更は保存されません。さらに奇妙なのは、私がラベルに関してそのような問題を抱えていないことです。Gridview コントロールによって発生したポストバック中に変更が行われたかどうかに関係なく、ラベルのテキストを変更できます。
ImageButton の EnableViewState を true と false に設定しようとしましたが、どちらも違いはありません。パネルで同じアプローチを試みましたが、同じことが起こります。グリッドビューが原因のポストバック中にプロパティを変更できません。私の GridView には EnableViewState = True があります
PS私は実行時にGridViewもバインドしています。私の GridView の RowUpdating イベントのみが発生します。RowUpdated イベントは発生しません。とにかく大きな違いがあったとは思いませんが、RowUpdated で ImageButton を変更してみることを望んでいました。