Просмотр имеет данные, которые передаются на контроллер через Ajax / jquery.Это не форма.Вызов Ajax выполняется по клику
Razor View
<div class="form-group">
@Html.LabelFor(model => model.AddAUser.UserAgeMonths, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.AddAUser.UserAgeMonths, new { htmlAttributes = new { @id = "UserAgeMonths", @class = "form-control" } })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
<input type="file" name="AddAUser.UserImageFile" class="form-control-file" id = "UserProfileImage" />
</div>
</div>
Модель
[Column("intAgeMonths")]
[DisplayName("User's Age in Months")]
public Int16 UserAgeMonths { get; set; }
[NotMapped]
[DisplayName("Upload your profile picture")]
public HttpPostedFileBase UserImageFile { get; set; }
Контроллер
[HttpPost]
public IHttpActionResult AddUser([FromBody]Customer user)
{
}
Ajax Jquery Call
$('#AddButton').on("click", function (e) {
e.preventDefault();
var UserMonthsParam = $('#UserAgeMonths').val();
var userParam = $('#LoggedInUser').val();
var UserImageParam = $('#UserProfileImage').get(0).files;
var button = $(this);
$.ajax({
//Url should contain the method you want to run
url: "/api/customer/AddUser",
//Method will be one of the REST API verb
method: "POST",
//These are all the parameters to be passed to method for rest api
data: {
AgeMonths: UserMonthsParam,
UserImageFile : UserImageParam[0]
},
dataType: 'json',
success: function (data) {
alert("User has been added successfully");
},
error: function () {
alert("Error occured!!")
}
});
});
Но я получаю ошибку при передаче данных изображения в контроллер.Это говорит Незаконный призыв.Я не уверен, как передавать данные изображения в данные модели в контроллере.