当前位置: 首页 > 面试题库 >

从静态[WebMethod]访问ASP.NET控件(JS ajax调用)

壤驷心思
2023-03-14
问题内容

我有一个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方法来管理“项目”的显示。



 类似资料:
  • 我有一个关于静态方法访问的问题。我有一个类,其中有4个静态方法。如代码所示: } 我正在从下面的代码调用来自onLoadShipperDetailsListCtrl()的setSortingEnable()方法: } 因此,如果我从其他类调用setSortingEnabled()方法,我会认为它是公共的,而其他方法是私有的,但它会给我一个错误:Java . lang . nosuchmethode

  • 问题内容: 我在下面设置了一个断点,但是我从未达到过断点。 CS: aspx: 问题答案: 确保在元素中启用了页面方法: 并且您已经通过在onclick处理程序中返回false来取消了按钮的默认操作,否则页面将执行完整的回发,并且您的AJAX调用可能永远没有时间完成。这是一个完整的工作示例: 另一种可能性是毫不客气地订阅点击处理程序: 然后在一个单独的javascript文件中: 您可能还会注意到

  • 问题内容: 如何使用jQuery访问asp.net控件 不会工作。 问题答案: 上面的aspx代码在页面上呈现时变为 这是因为.net控件所在的主控信息和控制信息被预先放置,这使我们编写选择器变得有些棘手。 您有几种选择。这绝不是全面的,但我会尝试一下。 选项1: 使用-推荐,但不是。如果可以的话,我会尽量避免写作。主要原因是,您只能在页面中使用它,而不能在外部文件中使用它。 选项2: 使用属性选

  • 问题内容: 我正在尝试使用AJAX 调用功能,但无法获得适当的结果。我已经搜索了我的问题并找到了许多解决方案,但是这些解决方案对我没有用。请指导我我在做什么错。帮助将不胜感激。 干杯 程式码片段 后台代码文件中的方法 例外 问题答案: 首先,如果web方法在页面类中,而不在Web服务类中,则它应该是静态的。 其次,传输的数据实际上不是字符串,而是对象,因此将其更改为: 第三件事,“类型”用于旧版本

  • 问题内容: 我是jqGrid的新手,但发现很难按照jqGrid文档进行操作 我无法弄清楚设置JQGrid时如何调用WebMethod。我已经成功进行了Ajax调用以获取数据,然后使用本地数据设置JQGrid。我认为这是设置过程中的一个额外步骤,我应该能够使用url属性提供webmethod的路径。 editurl属性是相同的方式。我从未真正收到过发布到服务器的帖子。 原始码 尝试了JQGrid设置

  • 问题内容: 在ES6中,给出以下示例: 如何访问Color.mainDark(静态字段)? 问题答案: 您可以按期望的方式访问它,但是,如果我记得使用Babel并立即导出类时存在一些问题,因此 如果 遇到问题,请在定义类后导出: 您可以在玛丽安(Marian)对类似问题的回答中了解有关巴别塔(Babel)问题的更多信息,该问题据说已在巴别塔(Babel)6.2.1中修复。