单击处理程序字符串
本文关键字:字符串 程序 处理 单击 | 更新日期: 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,我能够检索数据。这可能不是最好的方法(可能是一种没有回发的方法),但它至少获得了我需要的结果。