В контроллере A у меня есть метод, который при нажатии кнопки отправки сохраняет данные в методе действия контроллера MVC.Невозможно прочитать свойство undefined in Angular JS
$scope.groupmembership.submit = function() {
if ($scope.groupMembershipUserInputForm.$valid) {
$scope.groupmembershipUploadParams = {
"chapterCode": $scope.groupmembership.chapterCode,
"createdDate": $filter('date')(new Date($scope.groupmembership.createdDate), 'MM/dd/yyyy'),
"endDate": $filter('date')(new Date($scope.groupmembership.endDate), 'MM/dd/yyyy')
};
UploadDataServices.getGroupMembershipUploadParams(
$scope.groupmembershipUploadParams)
.success(function (result) {
$rootScope.$emit(
'validateUploadedFilesEvent',
$scope.groupmembershipUploadParams
);
});
}
}
UploadDataServices.getGroupMembershipUploadParams
getGroupMembershipUploadParams: function(uploadParams){
$http.post(BasePath + "uploadNative/setGroupMembershipUploadParams", uploadParams, {
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
}
}).success(function (result) {
console.log(result);
})
},
контроллер uploadNativeMVC
public async Task<JsonResult> setGroupMembershipUploadParams(GroupMembershipUploadParams arg)
{
TempData["GroupMembershipUserUplaodDetails"] = arg; //Save the data for later use
var result = new JsonResult();
result.Data = "Success"; // Return a Excel Upload Limit Exceeded
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return result;
}
Это сохраненные данные, которые я хочу, чтобы повторно использовать другие методы в контроллере MVC в последующих вызовах.
Я не хочу никакого ответа назад, но только убедитесь, что methodB() в угловых выполняется после того, как данные в MVC сохраняется, я выстрелил событие после того, как я получаю ответ успеха
UploadDataServices.getGroupMembershipUploadParams(
$scope.groupmembershipUploadParams)
.success(function (result) {
$rootScope.$emit('methodB', $scope.groupmembershipUploadParams);
});
Я знаю, что этот результат .data в создании MVC является избыточными,
var result = new JsonResult();
result.Data = "Success"; // Return a Excel Upload Limit Exceeded
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return result;
но как убедиться, что
$rootScope.$emit('methodB', $scope.groupmembershipUploadParams);
пожаротушения только после сохранения tempData.
UploadDataServices.getGroupMembershipUploadParams(
$scope.groupmembershipUploadParams)
.success(function (result)
- это ошибка. Что можно сделать более аккуратно? Я знаю, что существует много избыточных кодовых строк.
Заранее спасибо.
Спасибо за ответ, но все возвращается из MVC только ради возвращения и проверки того, что события уволят только после успешного сохранения в MVC TempData нужны? Можем ли мы избежать этого? – StrugglingCoder
Я не совсем уверен, что вы просите. Для этой части: _but все возвраты из MVC_, вы обеспокоены тем, что возвращение строки '' Success ''является расточительным? На самом деле не о чем беспокоиться, но вы можете, вероятно, вернуть ответ «null», если хотите. – JLRishe
Да, я жестко его кодирую. Я просто хочу убедиться, что только после успешного сохранения в MVC я могу сделать $ rootScope. $ Emit, а не раньше этого. Так подходит ли этот подход? – StrugglingCoder