7

我有一个 ASP.NET 网站和一个自定义控件(我们称之为 myControl)。我需要用 AJAX 在这个控件上调用一个方法。我将 ajax 调用从 JavaScript (jQuery) 发布到 C# WebMethod。这很好用,但我无法在静态 WebMethod 中访问 myControl。任何想法如何解决这个问题?

简短版本:从 JS 到 C# WebMethod 的 AJAX 调用有效 -> * 在这里(在此方法中)我需要在我的自定义控件上调用一个方法,由于静态方法类型而无法访问 *

[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 回答