[英]Re-run javascript on a page without refreshing/reloading the entire page
[英]LightSwitch HTML Client to automatically run queries without refreshing entire page
在Lightswitch HTML客户端中,我们创建了一个屏幕来显示特定业务流程的进行中的工作。
这将在大屏幕上显示,就像您去Argos收集订单时一样。 这是截图...
我们正在使用一些Java脚本每30秒刷新一次页面。
setTimeout(function () {
window.location.reload(1);
}, 30000);
但是,这有两个问题。
因此,是否有可能仅触发每个查询而不是整个页面来重新加载?
(数据由WCF RIA服务提供给LightSwitch)
在JavaScript中,使用screen.MyList.load()
。 它将异步地重新加载列表。
请注意,IntelliSense并不总是在screen
对象上建议列表名称,但是如果您键入名称,它将识别它们。
结合setTimeout()
方法和created
屏幕事件,它应该可以工作。
我遇到了同样的问题,终于找到了解决方案。 我在创建的事件中添加了此代码:
myapp.BrowseMembers.created = function (screen) {
setInterval(function () {screen.Members.load(true);}, 1000);
};
我的作品,只是屏幕闪烁重新加载数据时闪烁。 setTimeout将仅触发一次,但setInterval将每1秒钟触发一次。
我在LightSwitch VS2012 Update 3上遇到了同样的问题,因为我的情况就是无效就足够了,所以我总是可以使用一个新的实体。 此代码在输入屏幕上运行一次,每30秒使加载的实体无效,并在需要时强制进行重新提取。
myapp.aaHome.created = function (screen) {
setInterval(function () {
screen.details.dataWorkspace.ApplicationData.Currencies._loadedEntities = {};
}, 30000);
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.