あなたの最善の策は、jquery のようなフレームワークを使用してから、ボタンにバインドし、サービスを呼び出して、応答を処理することです。以下はその簡単な例です。
$(document).ready(function()
$('#Button1').bind('click', function () {
// This grabs the page you are in so that you can call it correctly
var pagePath = window.location.pathname;
var testId = $("#some_div").val();
var url = pagePath + "/TestService";
$.post(url, { id: testId },
function (data) {
showAlert(data);
}
});
};
});
まず、ある時点でドキュメントの準備ができていることを確認する必要があります。Bind を使用すると、ドキュメントの読み込み時にボタンをバインドできます。次に、それをクリックして、testId を取得し、サービスを呼び出し、成功コールバックでデータ応答を処理する匿名関数を実行します。
あなたが正しい方向に進むことを願っています!
編集: バックエンド Web フォームの「サービス」公開を追加
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string TestService(string id)
{
var string = DBCollection.FirstOrDefault(x => x.id == id); // Or whatever you want to return the data
return "You called me on " + DateTime.Now.ToString() + "with " + string;
}
}
これにより、ページで公開されている「WebMethod」を呼び出すことができます。これに関する詳細については、次のリンクを参照してください。
http://www.tugberkugurlu.com/archive/asp-net-web-forms---calling-web-service-page-methods-using-jquery
編集: Webフォームでこのタイプのアプローチを実行する場合の追加の考慮事項。
asp.net webformsでjqueryを使用してwebmethodを呼び出す