ASP.NET MVC Ajax.BeginForm загрузка файлов не является ненавязчивой

У меня есть следующее в моем представлении

<div name="image-upload-section" class="control-label">
  @using (Ajax.BeginForm("UploadAdditionalImage", "Image", "UploadAdditionalImage", ajaxOptions, new { enctype = "multipart/form-data" })) {
  <label>Upload Image:</label>
  <input name="files" type="file" id="uploadAdditionalImage" onchange="PreviewAdditional();" />
  <input type="submit" value="Upload Image" class="btn btn-default" />}
  <img id="uploadAdditionalImagePreview" style="max-height:200px;" />
</div>
<div name="imageGallery" id="imageGallery"></div>

<script>
  function PreviewAdditional() {
    var oFReader = new FileReader();
    oFReader.readAsDataURL(document.getElementById("uploadAdditionalImage").files[0]);

    oFReader.onload = function(oFREvent) {
      document.getElementById("uploadAdditionalImagePreview").src = oFREvent.target.result;
    };
  }
</script>

Когда я включаю:

<script type="text/javascript" src="/Scripts/jquery.unobtrusive-ajax.js"></script>

Мой контроллер получает файлы как null, но без ненавязчивого ajax он работает нормально, как вы уже догадались, он возвращает навязчивое частичное представление.

Я пробовал OnSuccess и Update в AjaxOptions, но, похоже, они не работают.

Есть ли обходные пути для этого? Вероятно, я что-то упустил из-за отсутствия опыта работы с jQuery и JavaScript.

У меня есть две формы в одном представлении, и одна из них должна загружать файлы и возвращать список объектов (URL, Id и т. Д.).

0 ответов

Другие вопросы по тегам