2017-06-26 13 views
0

コードボックスに確認ボックスを作成しようとしています。確認機能は、私はエラーが表示されるダイアログで「はい」ボタンをクリックすると、正しく呼び出されている間:C#EXT App.direct.fnameが関数ではありません

Uncaught TypeError: App.direct.DoYes is not a function

public void Confirmation(object sender, DirectEventArgs e) 
    { 
     X.Msg.Confirm("Confirm", "Do you want to create test for this selection:", new MessageBoxButtonsConfig 
     { 
      Yes = new MessageBoxButtonConfig 
      { 
       Handler = "App.direct.DoYes()", 
       Text = "Yes" 
      }, 
      No = new MessageBoxButtonConfig 
      { 
       Handler = "wndRnd.Close()", 
       Text = "No" 
      } 
     }).Show(); 
    } 

[DirectMethod] 
    public void DoYes() 
    { 
      //do something 
    } 

答えて

0

は、ユーザーコントロールにありますか?その場合、Ext.NETはApp.direct。[UserControl] .DoYes()の命名規則を使用して、メインまたは別のUserControlのDoYes()イベントとの競合を回避します。私は常にUserControlクラス名にDirectMethodProxy属性を使用します。これは、App.direct。[UserControl] .DoYes()の[UserControl]の名前がどのようになるかを定義します。

using Ext.Net; 

[DirectMethodProxyID(IDMode = DirectMethodProxyIDMode.Alias, Alias = "UC")] 
public partial class SampleUserCtlClass : System.Web.UI.UserControl 
{ 
    [DirectMethod] 
    public void DoYes() 
    { 
     X.Msg.Alert("Message", "Hello from UserControl").Show(); 
    } 
} 

あなたの直接のイベントがこのユーザーコントロールで作成されたのであれば、あなたの質問およびこの例の両方をマージ、それは使用して呼び出すことができます。

App.direct.UC.DoYesを();

関連する問題