7

ASP.NET WebSite とカスタム コントロール (myControl と呼びましょう) があります。このコントロールのメソッドを AJAX で呼び出す必要があります。JavaScript (jQuery) から C# WebMethod への ajax 呼び出しを投稿しています。これは正常に動作しますが、静的 WebMethod で myControl にアクセスできません。この問題を解決する方法はありますか?

短いバージョン: JS から C# への AJAX 呼び出し WebMethod の動作 -> * ここ (このメソッド内) 静的メソッド タイプのためにアクセスできないカスタム コントロールのメソッドを呼び出す必要があります *

[WebMethod]
public static List<CustomListControl.IListItem> GetListItems()
{
    // CAN'T GET TO MY CONTROL - need to return myContorl.Items;
    return null;
}
4

1 に答える 1

5

まあ、それは正しいアプローチではありません。Web サービス メソッド レベルでは、ページ構造については何もわかりません。このメソッドでは、アイテムのリストをロードして返すことしかできません。このリストがバインドされる場所は、GetListItems の仕事ではありません。

コールバック関数 (たとえば、 http://mattberseth.com/blog/2007/06/aspnet_ajax_invoke_a_static_me.htmlを参照) を実装するか、UpdatePanel アプローチを使用して、項目の表示を管理できます。

于 2010-01-25T15:24:26.420 に答える