Как исправить нулевой список<HttpPostedFileBase>?
Я пытаюсь пройти ViewModel
а также List<HttpPostedFileBase>
от службы angularJS до контроллера ASP.NET. Я могу получить ViewModel
но List<HttpPostedFileBase>
нулевой.
HTML
<form id="frm" name="frm" enctype="multipart/form-data" action="#" method="post">
...
<input type="submit" class="btn btn-warning btn-block" ng-click="mainCtrl.submit()" ng-disabled="frm.$invalid" value="Create"/>
...
Угловой Ctrl
self.submit = function () {
var data = {
header: self.header,
uploads: self.attachments
};
//Create new Service Request
var createServiceRequestHeader = ServiceRequestServices.createServiceRequestHeader(data)
.then(function successCallback(response) {
...
}, function errorCallback(response) { toastr.error(response.statusText); });
}
Угловой сервис
//Create ServiceRequest Header
service.createServiceRequestHeader = function (data) {
var response = $http({
method: 'POST',
url: '/ServiceRequest/CreateHeader',
data: { _servicerequestViewModel: data.header, uploads: data.uploads }
});
return response;
}
ASP.NET Controller
[HttpPost]
public ActionResult CreateHeader(ServiceRequestViewModel _servicerequestViewModel, List<HttpPostedFileBase> uploads)
{......}
Я попробовал следующее.
- Я проверил в своих услугах, если
uploads
который содержитList<HttpPostedFileBase>
является нулевым, но это не так. - Я уже пробовал решения, которые я мог найти в Интернете, как добавление
enctype="multipart/form-data"
в моей форме, но так как я используюinput ng-click
Я не думаю, что это торчит. - Я также попытался добавить
undefined
к моемуservice headers
но это тоже не сработало.
Я также попробовал решение ниже, но это не сработало.
for (int i = 0; i < Request.Files.Count; i++ )
{
HttpPostedFileBase upload = Request.Files[i];
if (upload != null && upload.ContentLength > 0)
{
....
}
}