0

グリッドビューの行でonclientclickイベントが発生していますが、行の任意の場所をクリックしたときにサーバーサイドメソッドを呼び出したいと思います。追加の列+選択ボタン+onselectedindexchangedを使用せずにこれを達成するにはどうすればよいですか?

ありがとうございました

4

3 に答える 3

2

ここで何を達成しようとしているのか正確にはわかりませんが、グリッド ビュー イベントを使用する必要はまったくないと思います。行のどこかでクリックを処理するためにJavaScriptを使用するつもりだと思いますか?CSS を使用して既存の列の 1 つに asp リンク ボタンを配置して非表示にすることができます。次に、JavaScriptにボタンをクリックさせます。次に、リンク ボタンは、通常のように独自のバッキング メソッドを持つことができます。

行インデックスまたはデータ項目 ID のコマンド引数を渡すことができるように、リンク ボタンに onClick の代わりにコマンドを実行させたい場合があります。

それはあなたの状況を処理しますか?

于 2012-11-05T17:44:29.027 に答える
1

このまま使えるイベントはなかなか無いと思います。

URL に投稿するカスタム関数を javascript/JQuery で記述したい場合があります。

于 2012-11-05T17:43:43.050 に答える
1

サーバー側のボタン クリック ハンドラーを持つボタンを追加します。表示したくない場合は、css を使用して非表示にします ( display: none;)。次に、GridView テーブルにクライアント側のクリック ハンドラーを接続し<tr>、ボタンのクリック イベントをトリガーすることができます。

グリッド ビューのボタン:

<asp:LinkButton runat="server" CssClass="row-button" OnClick="ServerSideClickHandler" Text="Click me"/>

ボタンを非表示にする Css:

.row-button { display: none; }

jQuery を使用したクライアント側ハンドラー:

$(document).ready(function() {
  $("tr").click(function() {
    $(".row-button", this).click();
  });
});
于 2012-11-05T17:46:54.063 に答える