3

私はC#を使用してAsp.Netで作業しており[WebMethod]、ユーザーコントロールで定義しています。Web サービスを使用したくありません。

[WebMethod]属性を持つメソッドを呼び出すにはどうすればよいですか? jQuery(Ajax)リクエストから呼び出したい。

4

3 に答える 3

4

ASCXユーザーコントロール内で宣言されたページメソッドを呼び出すことはできません。pageメソッドは、aspxで宣言するか、適切なasmxWebサービスとして公開する必要があります。

于 2010-07-08T06:48:36.413 に答える
4

共有機能を一元化することが目標である場合は、サービスの使用を再検討する必要があります。

ASMXサービスには、WCFサービスのような構成上の負担はありません(これは、誰かが「Webサービス」について言及したときに頭に浮かぶことがよくあります)。単純なASMX「ScriptService」を使用する場合、コード、開発、構成などは、現在ASPXファイルで行っていることとほぼ同じであり、一元化されています。ASMX ScriptServicesとASPXページのメソッドは非常に似ているため、基本的なバックエンドコードのほとんどを文字通り共有します。

于 2011-03-10T00:10:23.407 に答える
1

理論的には可能ですが、少し面倒になり、お勧めしません。
ただし、コントロールを含むaspxページを呼び出し、ascxコントロールによって処理されるクエリ文字列パラメーター(runfunc = 1など)を渡して、関数を実行することができます。
それ以外の場合は、他のすべての機能が実行されます。「WebMethod」関数を呼び出すと、すべてのhtmlを非表示のパネルに配置できます。
これにより、関数名のWebMethodプロパティを削除することもできます。

于 2010-07-08T09:31:53.483 に答える