【发布时间】:2010-12-20 22:07:13
【问题描述】:
我希望将某些属性序列化为“对象”而不是字符串。例如
{"onClickHandler": OnClickHandler, "onMouseOut": OnMouseOutHandler}
类def是这样的:
public class handlers {
public string OnClickHandler;
public string OnMouseOutHandler;
}
目前它是这样的:
处理程序:{“onClickHandler”:“OnClickHandler”, "onMouseOut": "OnMouseOutHandler"}
您可以猜到,这些是客户端事件处理程序,对应于其他地方定义的 javascript 函数。通过在引号内发出它们,它们不会被解释为函数,而是被解释为文字字符串。
编辑:
从戴夫的回答中得到启发,想出了一个办法:
先稍微擦洗一下:
for (var handler in this.handlers) {
if(window[this.handlers[handler]])
this.handlers[handler] = window[this.handlers[handler]];
};
然后正常调用jQuery绑定
$elem.bind(this.handlers);
接受戴夫的回答,因为这是最接近的。
【问题讨论】:
标签: javascript c# serialization json.net dom-events