簡體   English   中英

如何將參數從js傳遞到直接事件網址操作?

[英]How can I pass parameter from js to direct events Url Action?

有沒有辦法從js獲取objectId參數並將其作為參數發送給Url操作?

JS:

function ButtonClick(objectId) {
    App.testID.fireEvent("click", objectId);
}

Ext.net:

Html.X().ID("testID").DirectEvents
(
    de =>
    {
        de.Click.Url = Url.Action("TestMethod", "TestController");
        de.Click.ExtraParams.Add(new Parameter("objectId", "I need objectId here"));
    }
)

當我在調試器中看到編譯后的代碼時,我想到了不同的解決方案。 您可以這樣創建直接事件:

Html.X().ID("testID")
.Listeners
(
    l =>
    {
        l.AfterRender.Handler = @"App.testID.on('testEvent', function(id) {
                                                                             Ext.net.directRequest({
                                                                                url: '/TestController/TestMethod',
                                                                                extraParams:
                                                                                {
                                                                                    'objectId': id
                                                                                }
                                                                            });
                                                                        });";
    }
)

並用以下方法射擊:

function ButtonClick(objectId) {
    App.testID.fireEvent("testEvent", objectId);
}

只需將原始代碼添加為值字符串,然后將ParameterMode.Raw添加到Parameter實例,如下所示:

de.Click.ExtraParams.Add(new Parameter("objectId", "App.MyComponent.Id", ParameterMode.Raw));

(基於示例資源管理器-布局> CardLayout

或者,一個自定義對象:

de.Click.ExtraParams.Add(new
{
    myTargetId = JRawValue.From("this.up('button').id")
});

(基於示例資源管理器-模型>數據注釋

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM