将json对象返回给客户端回调函数

时间:2014-03-17 01:00:21

标签: c# javascript asp.net json callback

我在C#aspx页面注册了一个客户端回调函数。我想从receiveServerResponse返回一个javascript对象,但我收到了一个字符串。如何将receiveServerResponse的输入作为json对象?我不想在这里使用eval。

//in aspx.cs page:
String cbReference =
            Page.ClientScript.GetCallbackEventReference(this,
            "arg", "receiveServerResponse", "context");
String callbackScript;
callbackScript = "function CallServer(arg, context)" +
            "{ " + cbReference + ";}";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
            "CallServer", callbackScript, true);

//further down in aspx.cs page
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public String GetCallbackResult()

//in aspx page:
var receiveServerResponse = function (evalText) {

1 个答案:

答案 0 :(得分:0)

你的问题是在JavaScript方面还是在C#方面?这听起来像价值' evalText'正在以字符串形式传递,如果是这种情况,那么这可能会有所帮助:

var jsonObject = JSON.parse(evalText);

如果您要将值从JS返回到C#,那么相反的方法应该可以解决这个问题:

return JSON.stringify(jsonObject);