Как выполнить действие из частичного представления, используя ASP.Net MVC? - PullRequest
0 голосов
/ 16 мая 2019

У меня проблема с выполнением действия из частичного представления, которое используется внутри другого представления.

Я пробовал этот JQuery, используемый для изменения содержимого div

$(document).ready(function () {
        //File Upload Button
        $(".fileUpload").click(function () {
            $.ajax({

                type: 'GET',
                url: '@Url.Action("FileUpload", "Dashboard")',
                data: { type: $(this).attr("data-type") },
                success: function (response) {
                    $(".content").html(response);
                },
                error: function () {
                    alert("Problem on uploading file");
                }

            });

        });
    });

А это код под контроллером для загрузки частичного представления.

public ActionResult FileUpload()
{
  return PartialView("~/Views/Dashboard/FileUpload.cshtml");
}

Мне удалось запустить этот код и показать частичное представление, но сейчас у меня возникают трудности с выполнением действия из этого частичного представления.

Я добавил еще одно действие Fileload

[HttpPost]
public ActionResult FileLoad()
        {
             //some codes to execute
        }

Это будет вызвано этим частичным представлением

@model Payout.Models.FundTransfer

@using (Html.BeginForm("FileLoad", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <div>
        <input type="file" name="Filepath" id="Filepath" />
    </div>
        <div>
            <input type="submit" name="submit" value="Submit" />
        </div>
}

И теперь я не знаю, как лучше всего выполнить это действие. Есть ли у вас какие-либо предложения?

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Не могли бы вы изменить свой код, как показано ниже

$.ajax({
          url: '@Url.Action("FileUpload", "Dashboard")',
          type: "POST",
          processData: false,
          data: { type: $(this).attr("data-type") },
          dataType: "html",
          contentType: false,
          success: function (data) {
              $(".content").html(response);
          },
          error: function () {
              alert("Problem on uploading file");
          }
      });

0 голосов
/ 16 мая 2019

Так в чем здесь ошибка?

Кстати, ваше почтовое действие должно быть таким же для ядра asp.net;

public ActionResult FileLoad(IFormFile Filepath)

или как это для классического asp.net;

public ActionResult FileLoad(HttpPostedFileBase Filepath)
...