【问题标题】:Ext.NET Click Handler stringExt.NET 点击处理程序字符串
【发布时间】:2011-12-21 20:23:15
【问题描述】:

我正在尝试使用点击处理程序。我的功能就是这样(它们都在同一个类中):

[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 的自定义控件中,而使用项位于呈现该控件的名为 Display() 的函数中。

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

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

处理程序字符串现在是:

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

这样做时,我得到“'MyMethods' 未定义。”

【问题讨论】:

  • 将“处理程序”切换为“Fn”有帮助吗?

标签: c# asp.net ext.net


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    Ext.NET forum post by Daniil

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-08
      • 2016-04-20
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 2014-03-12
      • 2015-03-28
      相关资源
      最近更新 更多