问题标签 [upshot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - Upshot/Knockout Architectural Best Practices - 在 Upshot 和 .NET 之间进行通信时首选的提供程序是什么?
对于当前的项目,我试图了解如何有效地利用 Knockout 2.1.0、Upshot 1.0.0.2、ASP.NET MVC4 和 Entity Framework 4.3。有很多基本的架构问题似乎没有现成的答案。我列举了我的几个问题(在单独的帖子中),希望有人可以为我自己和其他人提供合理的指导,因为我们试图在现实世界的应用程序中实现这种组合。
在2 月的荷兰 TechDays 上, Steve Sanderson就 Knockout 和 Upshot.js 发表了精彩的演讲,他提到 Upshot 可以适应多种连接服务器的方法。(如果您还没有看过演示文稿,那么值得一看。您可以在http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159查看。)
不幸的是,他没有时间详细说明这些通信机制是什么,或者推荐了哪些以及在什么情况下。
根据Denver Developer在其题为“深入了解 Upshot.js”( http://denverdeveloper.wordpress.com/2012/03/07/digging-into-upshot-js/ ) 的博客文章中的说法,共有三个数据提供者由Upshot.js。这些都是:
• 默认为DataProvider()并使用/Submit 方法和您提供的操作使用jQuery 的$.ajax 方法获取数据。(AG 注意:我相信这通常与WebAPI 公开的DbDataController对象相关,但我不确定确切的限制是什么。)
• 下一个是riaDataProvider() – 与第一个类似,但它使用 /json/SubmitChanges 方法和 /json/{your option} 来获取数据
• 最后,我们还有odataDataProvider() ——这个完全不同,因为它目前不支持更新数据——它是只读的。
许多密切相关的问题自然而然地出现在为典型用途选择供应商的问题上。
- 哪个数据提供者更好——默认数据提供者还是 RIA 数据提供者?
- 推荐哪一种正常使用,在什么情况下使用?
- 使用普通DataProvider与riaDataProvider对性能有何影响?
在相关的说明中,互联网上似乎很少有关于结果的文档。除了苦读 upshot.js 中的 4700 多行代码之外,这个库还有其他像样的文档来源吗?
到目前为止,我查看的资源包括以下(以及更多)。
来自 Steve Sanderson 的 SPA 演示的源代码(可从http://blog.stevensanderson.com/2012/03/06/single-page-application-packages-and-samples/获得)。
Bart Jolling 对 Steve Sanderson 的 SPA 演示应用程序的变体的源代码来自他关于“使用 ASP.NET MVC4 构建单页应用程序”的文章(第 1-4 部分)。http://bartjolling.blogspot.com/2012/04/building-single-page-apps-with-aspnet.html
来自 ASP.NET 站点的 Big Shelf SPA 演示代码 - http://www.asp.net/single-page-application/spa-samples/sample-bigshelf-application
Microsoft ASP.NET “A Tour through SPA”(主要关注结果示例) http://www.asp.net/single-page-application/spa-samples。
asp.net-mvc - 如何访问和绑定 Upshot 提供的实体元数据(通过客户端上的 JavaScript)?
Upshot 的一个假定好处是它能够查询通过数据注释公开的元数据。如何访问实体属性的元数据,例如字符串长度、默认值、显示名称、描述信息以及是否需要某个字段?
如何将这些数据连接到 jQuery Validation 或 Knockout Validation 等验证框架?
注意:我目前正在使用 Knockout 2.1.0、Upshot 1.0.0.2、Entity Framework 4.3 和 ASP.NET MVC4。
validation - Upshot/Knockout Architectural Best Practices - 哪个客户端验证库应该与 Knockout 和 Upshot 一起使用?
至少有三个可能的验证库可以很好地与 Knockout 配合使用。这些包括:
- jQuery 验证(jQuery 插件)
- Knockout.Validation [Knockout 插件] (https://github.com/ericmbarnard/Knockout-Validation)
- Knock-Knock 验证 [Knockout 插件] (https://github.com/Enome/knockknock)
假设,使用标准 jQuery 验证需要在所有表单输入字段上绑定“uniqueName”。Knockout 通常不需要这个,因此除非请求(通过绑定),否则不会提供它。
有两个贡献的 Knockout 验证插件。这些是 Knockout.Validation 和 Knock-Knock 验证。我注意到 Knockout.Validation 最近更新了,但是 Knock-Knock 验证在大约一年内没有更新。
我的假设可能是标准的 jQuery 验证或 Knock-Knock 验证可能是与 Knockout 和 Upshot 一起使用的首选标准。
是否有人将这两个验证插件中的任何一个与 Upshot 及其从服务器公开的实体元数据结合使用?
如果是这样,您能否告诉我建议将两者中的哪一个用于一般用途,并可能提供一些有关其实施的提示?
谢谢!
asp.net-mvc - Upshot/Knockout Architectural Best Practices - 限制用户访问通过 WebAPI 公开的功能的首选方法是什么?
使用 Knockout 和 Upshot 实现单页应用程序的一个基本思想是,大部分数据将使用 AJAX 以 JSON 格式从服务器接收和发送到服务器。
在服务器上,我们将公开一些端点(可能使用 WebAPI 和 DbDataController)来响应来自 Upshot 的请求。这些端点可以提供对数据的一般查询,例如客户列表、以前的订单、帐户信息等。
显然,不希望一个客户能够查看另一个客户的帐户信息、先前的订单或其他私人数据。
- 使用什么策略或方法来保护从结果(或其他机制)请求到服务器的查询(和数据)?(换句话说,我们如何确保用户只能访问他自己的数据?)
- 这些策略是否与普通 ASP.NET MVC 应用程序中使用的策略相同或不同——即使用 Authorize 属性?
这可能是一个非常简单的问题,但我仍然不清楚 WebAPI 控制器和通常的 ASP.NET MVC 控制器之间的所有区别。
感谢您的帮助!
javascript - 脚手架 Upshot 上下文不调用 webapi?
我正在关注史蒂夫·桑德森(Steve Sanderson)的一个非常简单的教程,看起来脚手架的脚本没有调用我的 webapi:
cshtml代码:
@(Html.UpshotContext().DataSource<Yoga.Controllers.YogaController>(x => x.GetAllBugs()))
生成的脚本:
并在页面加载后调用:
我在控制器中的 GetAllBugs() 成员处放置了一个断点,但它从未被击中。
但是,当我直接访问 uri 时,http://localhost/api/yoga/getallbugs
我得到了预期的结果。(并且断点被击中)
我似乎无法弄清楚脚手架的结果脚本发生了什么。
谢谢
singlepage - 使用淘汰赛和结果卡住 MVVM 声明
我有这种格式的服务返回数据
现在我正在尝试以这种方式访问 html 中的数据
我可以访问当前期间,但不能访问 WebChartView 的 Id。
顺便说一句,我正在使用 MVC4 chartResult 是视图模型
json - upshot映射问题asp.net mvc4
我正在开发 ASP.NET MVC 4 beta 中的单页应用程序,在结果尝试映射我的控制器返回的 JSON 时失败(我猜)。
我的项目需要一些个人信息,一些开放式问题+答案和一些李克特问题+答案(同意,不同意等)
这是我的模型的外观:
我的控制器似乎返回了正确的 JSON:
某些引用未设置,因为这些对象是由控制器创建的,而不是从数据库中提取的。
Knockout 无法将其映射到有效的视图模型中,它不会提示任何错误,但是当我使用 firebug 检查视图模型变量时,它会显示大量的结果函数等,而不是视图模型和一些额外的结果函数。
这是我的第一个 Knockout、Upshot 和 SPA 项目,所以我有点迷失了,因为结果不会引发任何错误,而且模型在服务器端/数据库级别是正确的......
如果我需要提供更多详细信息,请告诉我。:) 我已经按照 ToDo-items 教程和 Steve Sanderson 的 Delivery Tracker 示例进行操作,所以我想它必须与我的模型/映射有关..?
桑德
更新:我已经删除了 FinishedAt 属性,因为它显然格式错误,但即使这样也没有帮助..仍然不知道为什么我的视图模型不会渲染,json 似乎很好..
knockout.js - 如何在子记录上正确实现 upshot 的 deleteEntity 函数
我有一个父子表结构。
我正在尝试删除子记录。这是我的简化视图模型。
当我尝试使用 removeChild1 删除子记录时,出现错误:
当我尝试使用 removeChild2 删除子记录时,出现错误:
显然,在第一个版本中,我引用了子记录的 ObservableArray 集合并将其从那里删除。正确的对象被删除,但非实现错误将其杀死。
在第二个版本中,我使用了 upshot 和 EF 魔法,但我不确定出了什么问题。
有任何想法吗?
asp.net-mvc-4 - 通过 Html.UpshotContext 调用带参数的 Web api 方法
我目前正在开发 MVC4 SinglePage 应用程序。
我有一个 Web Api 方法GetChartsByCategory(int catId) 所以在我看来 cshtml 页面我应该如何在这种情况下声明 Html.UpshotContext 。
我不想调用GetAllCharts(),然后使用敲除或结果在客户端进行过滤。
谢谢
.net - 使用 Asp.net MVC 4 制作 Steve 在 Techdays 上介绍的移动应用程序?
我一直在做 asp.net mvc 一段时间,最近遇到了这个 techdays 教程。
这似乎很有趣,但让我对如何开始做类似的事情感到困惑。
目前我有一个使用
我的应用程序基本上是一个带有几个选项卡的页面,一切都由 ajax 和 jquery 模型对话框控制。
我按照这个图案来做我的东西
视图 -> 视图模型 -> 控制器 -> 服务层(在单独的库中)-> nhibernate
// 我的视图模型包含基本验证
// 看法
我的视图几乎有一些使用视图模型的强类型 html 帮助。
// Javascript
正如我提到的,我使用了很多 Ajax。大多数时候,我会使用 serliazeArray,然后将数据发布到控制器 Action Result(CreateCourse),然后再绑定视图模型的值。
// 服务层
在我的服务层中,我将执行一些业务逻辑,然后在需要时使用 nhibernate 保存到数据库中。如果我觉得有必要,我将制作域传输对象,否则我将只使用我的域对象。
我最近一直在研究 jquery 手机和手机的差距,因为我被安排在一个使用这种技术的项目上,它们看起来非常有用。由于我对 asp.net mvc 非常熟悉,因此我开始考虑是否可以在混合中使用 mvc,那时我看到了我在这篇文章顶部发布的视频。
我仍然不是 100% 在单页应用程序上销售,例如,如果我要查看我正在制作的当前个人项目并想要制作它的移动版本,那么应用程序在向其展示数据时必须完全不同用户。
例如,我的 Web 应用程序有一个表格,它只需要大量空间来显示所有内容,而且在移动设备上可能看起来不太好。这将导致我要么不得不修剪表格,要么考虑以不同的方式显示它(我可能会这样做)。
我喜欢史蒂夫所做的可以在所有移动设备上运行的事实,我想尝试类似于他正在做的事情,但我要制作的版本将只适用于移动设备,也许是小型平板电脑。
我认为可以支持 1024 和更高分辨率的所有其他东西都应该使用当前的 Web 应用程序。
我只是不知道从哪里开始以及如何使它适合我正在使用的东西。
他正在使用 webapi 和实体框架工作,但我如何使用 nhibernate 进行这项工作?
我不再使用视图模型了吗?似乎他只是连接了他的域模型并将其全部发送到视图。我对此并不太疯狂,因为我喜欢视图模型。
他使用 Knockout.js 及其所有绑定内容,例如绑定到他用来将数据发送回服务器的按钮。这很好,但是当您使用 jquery 对话框和生成自己的按钮的东西时会发生什么。在这些情况下,你如何挂钩淘汰赛?
他提到,然后他可以接受他的项目并使用诸如phonegap之类的东西将其投放市场。如果他使用 asp.net mvc 代码作为电话间隙仅支持 html/javascript/css,他怎么能做到这一点?