我在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) {
答案 0 :(得分:0)
你的问题是在JavaScript方面还是在C#方面?这听起来像价值' evalText'正在以字符串形式传递,如果是这种情况,那么这可能会有所帮助:
var jsonObject = JSON.parse(evalText);
如果您要将值从JS返回到C#,那么相反的方法应该可以解决这个问题:
return JSON.stringify(jsonObject);