トリガーがGridViewsSelectedIndexChangedイベントであるUpdatePanel内にあるGridViewを実装しました。予想通り、動作が非常に遅くなります。代わりに、これをクライアント側で処理したいのですが、GridViewがサポートするクライアント側のイベントに関する十分な情報を見つけることができません。誰かがこの情報が利用できるかもしれない参考文献を指摘できますか?
編集:誰かが頭のてっぺんからクライアント側のイベントを知っているとしても、私は興味があります。
トリガーがGridViewsSelectedIndexChangedイベントであるUpdatePanel内にあるGridViewを実装しました。予想通り、動作が非常に遅くなります。代わりに、これをクライアント側で処理したいのですが、GridViewがサポートするクライアント側のイベントに関する十分な情報を見つけることができません。誰かがこの情報が利用できるかもしれない参考文献を指摘できますか?
編集:誰かが頭のてっぺんからクライアント側のイベントを知っているとしても、私は興味があります。
標準のASP.NETGridViewにはどのようなクライアント側のイベントがありますか?
別の回答で間違っていることが証明されてうれしいですが...なし?これはサーバー側のオブジェクトであり、クライアント側のjavascriptオブジェクト表現はありません。これは、ほとんどの標準的なASP.NETWebFormsコントロールの典型です。
GridViewをWebフォームにドロップし、<asp:CommandField ShowSelectButton="true" />
クライアント側の列を追加します。これは次のようになります。<td><a href="javascript:__doPostBack('GridView1','Select$0')">Select</a></td>
処理できるオブジェクトにはクライアント側のイベントはありません。これは、ポストバックを呼び出すjavascriptスニペットを使用したアンカーにすぎません。もっと凝ったものが必要な場合は、次のように自分で何かを焼く必要があります-http ://weblogs.asp.net/andrewrea/archive/2008/08/04/gridview-row-click-selection- via-clientside-code.aspx
別の方法は、別のASP.NETWebFormsの「グリッド」コントロールに移動することです。たとえば、DevExpressグリッドには豊富なクライアント側オブジェクトモデルがあることを知っています。Telerikにも同様の機能があるとほぼ確信していますが、おそらく他にもいくつかあります。
これを使用して、GridViewの組み込みボタンのクライアント側イベントを作成するコードを次に示します。
protected void Page_LoadComplete(object sender, EventArgs e)
{
MyCommon.GridButtonClientClick(gvLookup, "gclick()");
}
public static void GridButtonClientClick(GridView g, String function)
{
foreach (GridViewRow gvr in g.Rows)
{
Control x = gvr.Cells[0].Controls[0];
LinkButton y = (LinkButton)x;
y.OnClientClick = function;
}
}