如何将参数从 js 传递到直接事件 Url 操作?
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));
(基于Examples Explorer - Layouts > CardLayout)
或者自定义对象:
de.Click.ExtraParams.Add(new
{
myTargetId = JRawValue.From("this.up('button').id")
});
有没有办法从 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));
(基于Examples Explorer - Layouts > CardLayout)
或者自定义对象:
de.Click.ExtraParams.Add(new
{
myTargetId = JRawValue.From("this.up('button').id")
});