クライアント側 JavaScript からサーバー側メソッドを呼び出す
このシナリオでは、コード内でサーバー側メソッドを呼び出すことを目的としています。 - ボタンのクリックによってトリガーされる JavaScript 関数からのページの後ろ。 ASP.NET コントロールを使用しない包括的なソリューションは次のとおりです。
これを実現するには、分離コードで Web メソッドを採用する必要があります。 Web メソッドは、クライアント側スクリプトからリモートで呼び出すことができる分離コード ページ内のメソッドです。
修正コード ビハインド (C#):
[WebMethod] public static string SetName(string name) { // Perform some server-side functionality here return "Success"; }
JavaScript機能:
function btnAccept_onclick() { var name = document.getElementById('txtName').value; // Invoke the SetName web method with the 'name' parameter PageMethods.SetName(name, function (result) { // Success handler: Perform post-invocation actions }, function (error) { // Error handler: Handle invocation failures }); }
追加要件:
JavaScript コードを正常に実行するには、ASPX に次のスクリプトを含める必要があります。ページ:
<asp:ScriptManager ID="ScriptMgr" runat="server" EnablePageMethods="true"></asp:ScriptManager>
使用法:
ユーザーが HTML ボタンをクリックすると、JavaScript 関数 btnAccept_onclick() がトリガーされ、「name」パラメーターがWeb メソッド SetName()。 Web メソッドは、サーバー側で必要な機能を実行し、結果またはエラー メッセージで応答します。
注: このアプローチには、ASP.NET が使用されるシナリオとは異なり、Web フォーム ページが必要です。コントロールは許可されません。スクリプト マネージャーは、クライアント側からの Web サービス呼び出しの正しい実行を保証します。
以上がASP.NET Web フォームでクライアント側 JavaScript からサーバー側メソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。