1

ボタンが事前に追加された ASP.net で GridView を使用しています。GridView のデータ ソースは、BookingRowStatus のリストから取得されます

BookingRowStatus(Row, m_AStatus, m_BStatus, m_CStatus, m_DStatus, m_EStatus, m_FStatus)

表示される引数は列です。RowCreated イベントを追加して m_XStatus をチェックし、ボタン内のテキストに応じてボタンを有効/無効にします ("X" = 無効 | "Y" = 有効)。

次に、GridView のボタンがクリックされたときにイベントをキャッチする RowCommand イベントを追加しました。ただし、ボタンをクリックするたびに、RowCommand ではなく RowCreated が呼び出されます。上記のイベントの両方にブレークポイントを追加しましたが、RowCommand さえ渡していないことがわかります。RowCreated に直行します。

私の質問は、DataGrid のボタンを押したときに RowCommand を呼び出すにはどうすればよいですか?

4

1 に答える 1

0

RowCreated イベントは、RowCommand イベントが発生する前に発生します。これは、子コントロール (つまり行) がポストバックで作成されてから値にアクセスできるようになるためです。

両方にブレークポイントを設定し、両方がトリガーされるかどうかを確認します。

あなたのソリューションは機能するはずですが、より簡単なソリューションは、ボタンをフィールド値に直接バインドすることです。例えば

<asp:Button runat="server" Enabled='<%# Eval("m_XStatus") = "Y" #>' />
于 2013-11-27T03:27:41.440 に答える