【发布时间】:2015-01-03 16:49:18
【问题描述】:
我有一个这样的 C# 类
public class Person
{
string firstname {get; set;}
string lastname {get; set;}
string onRenderFunction {get; set;}
}
然后我这样设置类:
var superman = new Person
{
firstname = "Clark",
lastname = "Kent",
onRenderFunction = "renderPersonComplete"
}
我想要的是将“onRenderFunction”序列化为方法而不是字符串。像这样;
{
"firstname": "Clark",
"lastname": "Kent",
"onRenderFunction": renderPersonComplete
}
因此,当通过 Ajax 调用返回序列化对象并将其提供给能够调用函数“onRenderFunction”的插件时,插件将看到该函数已设置并调用如下函数设置:
var renderPersonComplete = function() {
alert('do something on render complete');
};
我将如何设置 JSON.NET 来序列化 Person 类来做到这一点?
【问题讨论】:
-
"onRenderFunction" 被序列化为方法是什么意思?你想在 C# 中将 JavaScript 函数分配给字符串属性吗?
-
为函数添加了更多细节。我通过对 jQuery 插件的 Ajax 调用将序列化对象作为 Javascript 对象传递。插件查看 javascript 对象上的 onRenderFunction 属性是否为函数,如果是则调用它。
-
从ajax获取数据后为什么不直接将函数添加到JS对象中?
-
要序列化的对象是设置服务器端,回调随业务逻辑而变化。我需要能够设置给插件的整个对象。
-
方法是使用javascript eval。可以这样做 eval(yourjsonobject.onRenderFunction)
标签: javascript c# serialization json.net