1

バックエンドでハンドラーを割り当てようとしています。だから私は現在持っています:

    foreach (Component comp in leftComponenets)
    {
        if (comp is TextField)
        {
            ((TextField)comp).Listeners.Focus.Handler = "Ext.net.DirectMethods.clickOnObject();";
        }
    }

document.aspx.cs ファイル内。左パネルに追加するコンポーネントを生成します。これはページのレンダリング中に動的に生成されるため (有限数の要素ではありません)、バックエンドで行う必要があります。私が呼び出そうとしているメソッドは次のとおりです。

[DirectMethod]
public void clickOnObject()
{
    Response.Write("hwerlkjasdf;ljasdf");
}

ただし、メソッドが javascript の Ext.net.DirectMethods オブジェクトに追加されていないように見えるため、呼び出すことができません。この段階でリンクを機能させる方法がわかりません。私の関数が別のファイルにあり、ページ自体とインライン化されていないという事実と関係があると感じていますか? 私は多くの例を見てきましたが、どれも役に立たないようです。

どんな助けでも大歓迎です!

4

1 に答える 1

0

[DirectMethod] では、Response ストリームに直接書き込むことはできません。上記で提供したコード サンプルに基づいて、それを変更すると、通知ウィンドウが表示されるはずです。

X.Msg.Notify("Message", "hwerlkjasdf;ljasdf").Show();

お役に立てれば。

于 2012-11-05T21:20:16.880 に答える