C#处理回调结果
C# handling callback result
e我在以下情况下有点挣扎。我已经在我的网页中实现了ICallBackEventHandler,除了javascript函数无法读取从后端返回的值之外,一切都运行顺利。在控制台中,post会显示正确的返回值,但函数的参数始终为空。
public partial class Intro : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
private string eventType = String.Empty;
protected void Page_Load(object sender, EventArgs e)
{
//ICallBack event handler
ClientScriptManager cm = Page.ClientScript;
string cbReference = cm.GetCallbackEventReference(this, "arg", "HandleResult", "");
string cbScript = "function RaiseEvent(arg){" + cbReference + ";}";
cm.RegisterClientScriptBlock(this.GetType(), "RaiseEvent", cbScript, true);
//End of ICallBack event handler
}
}
public void RaiseCallbackEvent(string eventArgument)
{
eventType = eventArgument;
}
public string GetCallbackResult()
{
return "simple";
}
然后在前端,我有以下场景:我用这个触发按钮点击事件:RaiseEvent("start")
,我用这个函数处理结果:
function HandleResult(arg) {
alert(arg); // HERE THE ARGUMENT IS ALWAYS NULL OR EMPTY !!!
}
请帮助我找出为什么它运行不正常,以及为什么我无法访问返回参数的值。提前谢谢。
这通常是由于未使用页面造成的。IsPostBack
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//ICallBack event handler
ClientScriptManager cm = Page.ClientScript;
string cbReference = cm.GetCallbackEventReference(this, "arg", "HandleResult", "");
string cbScript = "function RaiseEvent(arg){" + cbReference + ";}";
cm.RegisterClientScriptBlock(this.GetType(), "RaiseEvent", cbScript, true);
//End of ICallBack event handler
}
}
相关文章:
- 将web服务回调的结果绑定到Javascript中的调用函数
- 返回循环中调用的回调结果的串联
- 从回调函数返回 AJAX 结果
- MongoDB:$addToSet Meteor中的重复结果回调
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- 如何通过回调访问nodejs中的mongodb计数结果
- 而循环和回调返回不同的结果
- 如何显示查询回调数据结果仅从开始
- Node.JS- R,Python大量计算识别回调何时返回并存储该结果
- 咖啡脚本化的 ajax 调用结果在实际成功时失败回调
- Meteor.js HTTP.get 获取 JSON 引号并解析结果似乎包含一个回调函数
- 如何使用异步并行将所有回调结果合并到最终回调中
- 根据多个回调结果的结果执行最终回调
- 我是否需要为每个具有等待结果回调的方法关闭
- 我想要一些在另一个回调函数内部的结果
- 使用 AJAX 回调更新挖空可观察数组会生成随机排序的结果
- 为什么我在 JavaScript 中的回调不适用于异步结果
- 为什么异步并行回调会返回意外结果
- 承诺链接:在next-then回调中使用上一个承诺的结果
- Node.js回调错误和结果澄清