我有一个ASP.NET网站和一个自定义控件(我们称之为myControl)。我需要使用AJAX在此控件上调用方法。我将JavaScript(jQuery)的Ajax调用发布到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; }
好吧,这不是正确的方法。在Web服务方法级别,您看不到任何有关页面结构的信息。在这种方法中,您只能加载项目列表并返回它。此列表绑定到的位置与GetListItems无关。
您可以通过实现回调函数(例如,参见http://mattberseth.com/blog/2007/06/aspnet_ajax_invoke_a_static_me.html)或使用UpdatePanel方法来管理“项目”的显示。