jQuery の ajax メソッドを利用して ASP.NET のサーバーサイドメソッドを呼び出してみましょう。
ASP.NET のサーバーサイドイベントの定義では public と static 修飾子を付け、WebMethod 属性も設定しておきます。WebMethod 属性は初めて使いました(^_^;) MSDN を見たところ、ajax 通信で利用される属性のようです。非同期通信でサーバーサイドイベントを呼び出しているので、サーバーサイドでページの再生成を行わないため static にしておいて一度生成したメソッドを使い続けるのかなと思います。
クライアントサイド
...$(function () { $("#button1").click(function () { $.ajax({ type: "POST", url: "Default.aspx/ajaxMethod", contentType: "application/json; charset=utf-8", data: "{'val1':'23', 'val2' : '35'}", success: function (result) { console.log(result.d); } }); }); });
サーバーサイド<input id="button1" type="button" value="button" />
[WebMethod] public static int ajaxMethod(int val1, int val2) { Debug.WriteLine("ajaxMethod"); return val1 + val2; }
参考になったリンクたち
連載ASP.NET AJAXを理解する 第2回 ASP.NET AJAXを使いこなす
http://www.atmarkit.co.jp/fdotnet/aspnetajax/aspnetajax02/aspnetajax02_04.html
WebMethodAttribute クラス
http://msdn.microsoft.com/ja-jp/library/system.web.services.webmethodattribute%28v=vs.100%29.aspx
WebMethod 属性を使用する
http://msdn.microsoft.com/ja-jp/library/byxd99hx%28v=vs.90%29.aspx
jQuery.ajax() For ASP.NET Developers
http://sett.ociweb.com/sett/settJun2013.html
ASP.Net Ajax and Postback
http://stackoverflow.com/questions/20367995/asp-net-ajax-and-postback
0 件のコメント:
コメントを投稿