グリッドビューの行でonclientclickイベントが発生していますが、行の任意の場所をクリックしたときにサーバーサイドメソッドを呼び出したいと思います。追加の列+選択ボタン+onselectedindexchangedを使用せずにこれを達成するにはどうすればよいですか?
ありがとうございました
ここで何を達成しようとしているのか正確にはわかりませんが、グリッド ビュー イベントを使用する必要はまったくないと思います。行のどこかでクリックを処理するためにJavaScriptを使用するつもりだと思いますか?CSS を使用して既存の列の 1 つに asp リンク ボタンを配置して非表示にすることができます。次に、JavaScriptにボタンをクリックさせます。次に、リンク ボタンは、通常のように独自のバッキング メソッドを持つことができます。
行インデックスまたはデータ項目 ID のコマンド引数を渡すことができるように、リンク ボタンに onClick の代わりにコマンドを実行させたい場合があります。
それはあなたの状況を処理しますか?
このまま使えるイベントはなかなか無いと思います。
URL に投稿するカスタム関数を javascript/JQuery で記述したい場合があります。
サーバー側のボタン クリック ハンドラーを持つボタンを追加します。表示したくない場合は、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();
});
});