1. ホーム
  2. javascript

[解決済み] JavaScriptからASP.NETの関数を呼び出すには?

2022-05-15 15:09:28

質問

ASP.NETでWebページを書いています。いくつかのJavaScriptコードがあり、クリックイベント付きの送信ボタンがあります。

ASPで作成したメソッドをJavaScriptのクリックイベントで呼び出すことは可能でしょうか?

どのように解決するのですか?

さて、Ajaxやその他の方法を使わずに、通常のASP.NETのポストバックを行いたい場合、(他のライブラリを使わずに)以下の方法で行います。

しかし、それは少しトリッキーです... :)

i. コードファイル(C#と.NET 2.0以降を使用していると仮定して)で、次のような外観になるようにPageクラスに次のインターフェイスを追加します。

public partial class Default : System.Web.UI.Page, IPostBackEventHandler{}

ii. これは、( タブ - タブ ) この関数をあなたのコードファイルに追加してください。

public void RaisePostBackEvent(string eventArgument) { }

iii. JavaScriptのonclickイベントで、以下のコードを書いてください。

var pageId = '<%=  Page.ClientID %>';
__doPostBack(pageId, argumentString);

これは、JavaScriptから渡された'eventArgument'を'argumentString'として、あなたのコードファイル内の'RaisePostBackEvent'メソッドを呼び出します。あとは、好きなイベントを呼び出すことができます。

追伸:これは 'underscore-underscore-doPostBack' ... です。そして、そのシーケンスにはスペースがないはずです...。なぜかWMDはアンダースコアの後に文字を書くことを許さないのです!