如何将实体框架对象序列化为JavaScript Object(JSON)?我尝试使用JSON.NET但是当我尝试序列化它时,我得到以下异常.
例外:Newtonsoft.Json.JsonSerializationException,Message ="Self referencing loop"
亚太区首席技术官Matt
在这个例子jsfiddle中,有人能解释我的视图模型或模板有什么问题吗?
它没有按预期工作.基本上视图模型包含一个对象,该对象是null.在视图中,有一个绑定到此对象的模板.由于此对象为null,因此不应呈现模板.但是,它确实尝试渲染模板并在我的示例中失败.如果job对象为null,那么我不想渲染模板.
根据Ryan的这篇文章,如果一个viewmodel包含一个null对象并且该对象有一个" template绑定",它将不会呈现该模板.
这是我的视图模型:
var job = function(title) {
this.jobTitle = ko.observable(title);
}
var ViewModel = function(first, last) {
this.firstName = ko.observable(first);
this.lastName = ko.observable(last);
//this.job = ko.observable(new job("software developer"));
this.job = ko.observable(null);
this.fullName = ko.computed(function() {
return this.firstName() + " " + this.lastName();
}, this);
};
ko.applyBindings(new ViewModel("FirstName", "LastName"));
Run Code Online (Sandbox Code Playgroud)
这就是观点:
<div class='liveExample'>
<p>First name: <input data-bind='value: firstName' /></p>
<p>Last name: <input data-bind='value: lastName' /></p>
<p data-bind="template: { name: 'editorTmpl', data: job …Run Code Online (Sandbox Code Playgroud) 使用SignalR时,在HTML中需要引用以下两个脚本:
<script src="~/Scripts/jquery.signalR-1.0.0.js"></script>
<script src="/signalR/hubs"></script>
Run Code Online (Sandbox Code Playgroud)
第二个是用于自动生成的JavaScript集线器代理.一切正常.但是,如果以某种方式禁用JavaScript Hub Proxy生成会发生什么,可能是通过设置DisableJavaScriptProxies属性(https://github.com/SignalR/SignalR/commit/7e974f4e92551a26f3e3e0a166e1dbf6c064e850).禁用JavaScript代理生成并尝试在HTML中引用/ signalr/hubs时,会出现JavaScript错误:
Uncaught Error: SignalR: JavaScript Hub proxy generation has been disabled.
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中浏览到该路径时,响应为:
throw new Error('SignalR: JavaScript Hub proxy generation has been disabled.')
Run Code Online (Sandbox Code Playgroud)
如果禁用JavaScript代理生成,$.connection.myHub.clientJavaScript代码将如何工作?为了让它有效,还需要做些什么?我得到的JavaScript错误是
Uncaught TypeError: cannot read property 'client' of undefined.
Run Code Online (Sandbox Code Playgroud)