У меня есть модель
public class UploadOptionModel
{
public UploadOptionModel()
{
OutputFormat = outputFormatList.Select(i => new SelectListItem
{
Text = i,
Value = i
});
}
public string Email { get; set; }
public IEnumerable<SelectListItem> OutputFormat { get; set; }
}
и вид
@model PC.Models.UploadOptionModel
@using (Html.BeginForm())
{
@Html.TextBoxFor(p => p.Email)
@Html.DropDownList("OutputFormat", Model.OutputFormat)
}
Я пытаюсь отправить форму выше с помощью вызова Ajax и привязать ее к модели
//Calling ValidateFile Action controller
$.ajax({
url: '@Url.Action("ValidateFile", "Converter")',
data: JSON.stringify({ file: fileName, formData: serializedForm }),
contentType: 'application/json',
type: 'POST',
success: function (response) {
if (response.result) {
} else {
RemoveFile(fileName);
}
}
});
function serializeForm() {
var data = $("form").serializeArray();
var formData = {};
for (var i = 0; i < data.length; i++) {
formData[data[i].name] = data[i].value;
}
return formData;
}
Действие ValidateFile
[HttpPost]
public JsonResult ValidateFile(string file, UploadOptionModel formData)
{
}
Проблема в том, что UploadOptionModel.OutputFormat
не является обязательным.Я не могу прочитать выбранное значение раскрывающегося списка.Поле UploadOptionModel.Email успешно привязано.