パネルをクリック可能にし、サーバー側でイベントを処理するためにできることは次のとおりです。
パネルを Web フォームに配置する
<asp:Panel runat="server" ClientIDMode="Static" ID="clickMe">
Click here
</asp:Panel>
jQuery スクリプト ライブラリをページに追加します。
<script src="http://code.jquery.com/jquery.min.js" language="javascript"
type="text/javascript"></script>
次のクライアント側イベント ハンドラーを定義します。
$(document).ready(function() {
$("#clickMe").click(function () {
__doPostBack('clickMe', '');
});
});
サーバー側でイベントを処理します。
protected void Page_PreRender(object sender, EventArgs e)
{
this.Page.ClientScript.GetPostBackEventReference(clickMe, "");
}
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Form["__EVENTTARGET"] == "clickMe")
{
ClickMeOnClick();
}
}
PreRender イベント ハンドラーのコードは、asp.net フレームワークが __doPostBack 関数をサイレント側でレンダリングするためのものです。ページに自動ポストバックを引き起こすコントロールが含まれている場合、このコードは必要ありません。