C# C处理回调结果
e 我在以下情况下有点挣扎。我已经在我的网页中实现了ICallBackEventHandler,除了从后端返回的值对于javascript函数来说是不可读的之外,其他一切都运行顺利。在控制台中,post显示正确的返回值,但函数的参数始终为空C# C处理回调结果,c#,javascript,asp.net,.net,icallbackeventhandler,C#,Javascript,Asp.net,.net,Icallbackeventhandler,e 我在以下情况下有点挣扎。我已经在我的网页中实现了ICallBackEventHandler,除了从后端返回的值对于javascript函数来说是不可读的之外,其他一切都运行顺利。在控制台中,post显示正确的返回值,但函数的参数始终为空 public partial class Intro : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler { private string eventType = String.Empty;
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";
}
然后在前端,我有以下场景:我使用这个:RaiseEventstart在点击按钮时触发事件,我使用这个函数处理结果:
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
}
}
不,这不是问题所在。