ext.net直接方法,从外部类方法调用

时间:2013-07-17 07:43:31

标签: c# asp.net ext.net

我在下面的类中有一个方法:

public class ActionHelper
{
    [DirectMethod]
    public string DeleteComment()
    {
        ...
        return "Delete";
    }
}

我想从这样的网格命令中调用它:

<Command Handler="Ext.net.DirectMethod.request({url: '/Classes/ActionHelper/DeleteComment', cleanRequest: true}});" />

但它不起作用!我怎样才能做到这一点???我使用ext.net 2.2和.netframework 4.5

3 个答案:

答案 0 :(得分:1)

看看这个例子 http://examples.ext.net/#/Events/DirectMethods/ID_Mode/

它可能会有所帮助

答案 1 :(得分:1)

在您的代码中放置一个[DirectMethod],然后调用该类并使用它 而是App.direct.<Method>();

答案 2 :(得分:1)

您不能在Page,User Control或任何自定义控件中定义方法,或者在Page类中定义静态方法。

这是一个定义来自Ext.net论坛中post的直接方法的引用:

  
      
  • DirectMethod(无静态,必须公开):服务器端处理程序是   当你调用特殊的javascript方法(基本上是代理   方法由Ext.Net toolkit生成。没有静态直接方法可以   在页面,用户控件或任何自定义控件中定义。请   注意,如果在用户控件(母版页)中定义了直接方法   占位符也是用户控件)或自定义控件然后ClientID   该控件的名称将被添加到代理方法1中   Ext.net.DirectMethods.ClientIDOfTheControl.DirectMethodName();您可以   使用类的DirectMethodProxyID属性来定义自己的别名或   完全删除ClientID前缀实际上,没有静态直接方法   直接事件。单一差异,即直接方法没有关系   任何小部件(及其事件),可以由开发人员提出   javascript(以javascript方式)

  •   
  • 静态DirectMethod(必须是公共的):类似的ASP.NET PageMethods,只能在Page类中定义。用静态页面方法   页面生命cyle未执行,因此访问ASP.NET控件   不可能,但响应时间要好得多(取决于你的方法   仅逻辑)

  •