e 以下の条件に少し苦労しています。Web ページに ICallBackEventHandler を実装しました。バックエンドからの戻り値が JavaScript 関数で読み取れないことを除いて、すべてがスムーズに実行されます。コンソールでは、投稿は正しい戻り値を表示しますが、関数の引数は常に空です。
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";
}
そして、フロントエンドには次のシナリオがあります: this を使用してボタンクリックでイベントをトリガーします:RaiseEvent("start")
そして、 this 関数で結果を処理しています:
function HandleResult(arg) {
alert(arg); // HERE THE ARGUMENT IS ALWAYS NULL OR EMPTY !!!
}
これが正しく実行されない理由と、返された引数の値にアクセスできない理由を突き止めてください。前もって感謝します。