以下是我实施CRUD的问题和问题
我有一个列表页面,我有一个编辑页面,每个页面都有一个与之关联的控制器。
以下是与我的编辑页面关联的更新方法的代码。
$scope.UpdateEmp = function () {
var empl = $scope.Employee;
empFactory.empTest.update({ EmpID: $routeParams.EmpID, empval: empl }, function (data) { // update method in my resource uses $resource
$location.path('/EmpList'); //redirect to list
});
};
问题1:
这里我在成功通话中包含了重定向操作($ location)。理想情况下,在完成更新时,必须进行重定向,但由于promise对象返回的概念,它甚至在更新之前就被重定向(我从承诺中理解)
在成功之后,我将重定向到我分配模型的List页面。这部分代码与列表页面相关联。我的理解是,每次加载列表页面时都会执行它。 (从调试开始,我也可以看到它的发生,但每次刷新时都没有调用API GET方法)
$scope.Employees= empFactories.query();
问题2:
Query调用API控制器get方法获取数据。每次刷新页面时都不会调用API控制器。它随机发生。我尝试在我的$ resource调用API方法中包含cache:false,但它也不会每次都调用API GET方法。
更新1:
使用网络播放按钮" on"在Internet Explorer F12选项中,我可以看到更新操作按预期工作。
答案 0 :(得分:0)
以下是我的问题的答案
在上面的例子中,我使用了MVC控制器。我应该明确地说出来。因此,每次都没有发生对Get方法的调用,当我添加如下属性时,它开始正常工作
[OutputCache(NoStore=true,Duration=0,VaryByParam="None")]
我尝试使用WebAPI控制器的相同示例,在这种情况下,没有属性,它完美地工作
以不同的方式尝试事情需要花费大量时间并且有助于学习新东西:)