剣道グリッドのイベントでコールバックを取得しようとしています。私の同僚は、MVC ヘルパーを使用してグリッドの作成を既に開始しています。だから私はこのようにグリッドにバインドしようとしています:
Html.Kendo().Grid<DetailViewModel>()
.Name("details")
.Events(events => events.DataBound(@<text>function () {
$('input:checkbox.details-checkbox').click(function () {
console.log("checked");
handleChecked();
});
}</text>))
ドキュメントを見ると、なぜここで @ タグを使用する必要があるのか わかりません。「handleChecked」のように、コールバックの名前を入力するだけでよいと思いました。それは私にとってはうまくいきません。なので@タグで囲みました。したがって、現在のセットアップ方法では、「チェック済み」のテキストがコンソールに表示されます。ただし、実際には、チェックボックスがヒットしたときにメソッドが呼び出されるようにしたいと考えています。面倒になるので、その関数ブロックに入れる必要はありません。だから私がやろうとしたのは、ドキュメントの準備ができて、handleChecked を定義することです。次のようになります。
@{
Html.Telerik().ScriptRegistrar()
.Scripts(wa => wa.AddSharedGroup(@Url.AssetName(AssetGroups.SinglePageApps)))
.OnDocumentReady(
@<text>
$(document).ready(function () {
function handleChecked() {
console.log("handle checked");
}
console.log("document.ready");
});
</text>);
}
そのため、実行してチェックボックスをクリックしようとすると、handleChecked() is undefined が表示されます。したがって、グリッドにデータが入力された後、剣道グリッドの行にバインドする最良の方法は何なのかわかりません。現在、サーバー側でレンダリングされており、関数コールバックを DataBound イベントに配置しようとしていますが、いくつかの問題があります。何かご意見は?前もって感謝します。