我正在尝试找出DevExpress数据网格回调的正确javascript语法,以便将数据传回客户端。
在.aspx中,我在DataGrid行中使用js调用dg.PerformCallback(key);
在CustomCallback事件中安装了一个onclick事件,并在aspx.cs文件中正确地访问了此函数,但我无法将数据传递回客户:
protected void dg_CustomCallback(
object sender,
DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e)
{
string key = e.Parameters; // works
e.Results = "something"; // .Results does not exist
return;
}
然后我从CustomCallback切换到DataCallback,因为DevExpress.Web.ASPxGridView.ASPxGridViewCustomDataCallbackEventArgs
确实有.Results
属性。但是,我无法弄清楚相应的javascript调用。我徒劳无功:dg.PerformCallback(key);
,dg.PerformDataCallback(key);
和dg.SendCallback(key);
另外我想知道,当上面的问题得到修复时,我需要编写哪个js函数来在回调后从服务器接收返回数据。
答案 0 :(得分:3)
您尝试实现的目标可以使用回调上的JSProperties
和 ASPxGridview 的OnEndCallback客户端事件来完成。此aspx标记可以放在 ASPxGridview 的</Columns>
结束标记之后。
<ClientSideEvents EndCallback="function(s,e)
{
var errText = s.cpError;
if (errText != "")
{
alert(errText);
}
}" />
在服务器端,您可以像这样设置JSProperties
gridOfApp.JSProperties["cpError"] = "The error was major!";
重要。请记住,您的JSProperties必须始终以cp前缀开头。