作为一名网络开发人员,我最近发现了与KnockoutJS合作的乐趣,但是当谈到使用服务器时,我几乎完全独立.我已经考虑过BreezeJS和JayData的CRUD功能和批处理操作,但我仍然不确定哪一个最适合我.
我现在专注于使用EF的ASP.NET MVC开发,但我可能稍后转向其他平台,因此我不希望局限于一个特定的框架.在这方面,JayData提供了许多BreezeJS的提供商,如OData,webSQL,IndexedDB,localStore,Facebook和YQL,这几乎是压倒性的.BreezeJS确实支持OData,但仅限于消费.
但是,我可能没有想到的易用性,文档和其他关键功能如何?
感谢您帮助我在他们之间做出选择.
jQuery自动完成小部件的默认行为是将结果列表定位在输入上方的一个z-index级别,以便后者始终可见,但在我的情况下,这会使文本输入元素蒙上阴影.
我尝试将z-index值输入元素设置为比open结果列表中的结果列表至少高一级,因此没有太大的成功:
open: function () {
setTimeout(function () {
$(this).css('zIndex', 10000);
}, 1);
},
close: function () {
$(this).css('zIndex', 0);
}
Run Code Online (Sandbox Code Playgroud)
输入元素的z-index级别确实升级到10000,而结果列表的z-index级别保持在级别1但输入元素仍然显示在它下面.
有没有人知道为什么会这样?结果列表和输入元素的位置属性分别设置为绝对和相对.这可能是原因吗?
出于测试目的,我在几列的表格中查询术语"测试".生成的过滤器网址如下所示:
$ filter =(substringof('test',Column1)eq true))和(substringof('test',Column2)eq true))和(substringof('test',Column3)eq true))...
查询工作正常,直到查询的列数超过15.此时我收到以下错误消息:
查询失败:已超出节点计数限制"100".要增加限制,请在QueryableAttribute或ODataValidationSettings上设置"MaxNodeCount"属性.
我通过向被调用的api方法添加以下属性来解决它:
[Queryable(
AllowedQueryOptions = AllowedQueryOptions.All,
AllowedFunctions = AllowedFunctions.AllFunctions,
MaxNodeCount = 200)]
Run Code Online (Sandbox Code Playgroud)
但这似乎与外国实体并不相符.使用expand函数时,它们始终为null.我检查了生成的过滤器URL,它确实包含必要的$ expand语法.
还有什么我想念的吗?
breeze ×2
asp.net ×1
autocomplete ×1
javascript ×1
jaydata ×1
jquery-ui ×1
knockout.js ×1
shadows ×1
z-index ×1