Я хочу загрузить форму в asp.net mvc. Это моя анкетаОтправить FormData для контроллера через ajax
<form id="fm" method="post" enctype="multipart/form-data">
<input type="text" name="no" id="txteno" data-bind="value: $root.PersonId" disabled="disabled" />
<input type="text" name="name" id="txtename" data-bind="value: $root.PersonName" />
<input type="file" name="file" accept="image/*" data-bind="file: {data: Photo, name: PersonPhoto, reader: someReader} " />
<button data-bind="click :$root.save" >Save</button>
</form>
Я использую данные формы для загрузки этой формы. Это моя точка зрения модели
var ViewModel = function() {
//declare observable
var perData = {
//evaluate object
};
var PerData = new FormData();
self.save = function() {
//append data
PerData.append('no',perData.PersonId()); PerData.append('name',perData.PersonName());
PerData.append('file', perData.Photo());
PerData.append('file', perData.PersonPhoto());
$.ajax({
type: "POST",
url: "/Person/FileUpload",
data: PerData,
contentType: false,
processData: false,
cache: false,
//mimeType: "multipart/form-data",
success: function() {
alert("Record Added Successfully");
},
error: function() {
alert("fail");}
});};};
var vm = new ViewModel();
ko.applyBindings(vm);
и это мой контроллер
[HttpPost]
public ActionResult FileUpload(Person item,HttpPostedFileBase file)
{ //some code}
отправки формы через AJAX является успешным, но вещь и передача файлов на мой контроллер, являются недействительными.
Я пробовал, но это не решает мою проблему – hamide
Хорошо! 'perData.Photo()' он возвращает что-либо в вашем коде? – Jai
PerData заполнена моделью просмотра, но ajax отправляет null в действие FileUpload – hamide