单击处理程序字符串

本文关键字:字符串 程序 处理 单击 | 更新日期: 2023-09-27 18:18:28

我试图使用点击处理程序。我的函数是这样的(这两个都在同一个类中):

[DirectMethod]
protected bool Save()
{
      //do work
}

,我尝试用:

来调用它
using (Ext.Net.Button yes = new Ext.Net.Button())
{
     // random set up for button
     // failed because it couldn't find namespace
     yes.Listeners.Click.Handler = "Namespace.Class.Save();";
     // attempt 2: removed the first one and assumed that the [DirectMethod] sets
     // it to be Ext.net.DirectMethods.Save();
     yes.Listeners.Click.Handler = "Ext.net.DirectMethods.Save();"
}

第一个失败,无法定位命名空间,第二个失败,因为"对象不支持此属性或方法"。

我用什么字符串来渲染这个?如果不通过Listeners.Click.Handler的方式,我还能怎么做?

该函数位于扩展Ext.Net.Window的自定义控件中,using项位于呈现该控件的Display()函数中。

根据vladsch的回复,我将其更改为:

 [DirectMethod(Namespace="MyMethods")]
 public bool Save()
 {
      //do work
 }

处理程序字符串现在是:

 yes.Listeners.Click.Handler = "MyMethods.Save();"

这样做时,我得到"'MyMethods' is undefined "。

单击处理程序字符串

DirectMethod必须是public你也可以定义自己的命名空间(而不是Ext.net.DirectMethods)[DirectMethod(名称空间="MyDirectMethods")]

Ext。NET论坛上的帖子

使用X.GetCmp,我能够检索数据。这可能不是最好的方法(可能是一种没有回发的方法),但它至少获得了我需要的结果。