Почему я не могу повторно использовать метод в форме Ajax в частичном представлении? - PullRequest
0 голосов
/ 01 июня 2018

Я работаю над приложением MVC, которое имеет базовую форму ajax для отправки данных.После формы есть частичное представление, в котором есть еще одна форма ajax для отправки данных в раскрывающееся окно, позволяющее пользователям обновлять их содержимое, не покидая страницы.

Создать

@model My Project.Models.Cars

@using (Ajax.BeginForm("Create", "Cars", new AjaxOptions
{
    HttpMethod = "POST"
}))
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary()

    ... form fields would be here ...
}
@Html.Partial("_Manufacturer")

Частичное представление (_Manufacturer)

@using (Ajax.BeginForm("AddManufacturer", "AnotherController", new AjaxOptions
{
    HttpMethod = "POST"
}))
{
        @Html.AntiForgeryToken()
        @Html.ValidationSummary()

    ... form fields for populating dropdown list ...
}

Когда я пытаюсь отправить форму AJAX в частичном представлении, я получаю сообщение об ошибке:

404 Ресурс не найден в Cars / AddManufacturer

Контроллер, который он должен использовать, - AnotherController, как вы можете видеть в приведенной выше форме.Я не хочу создавать несколько форм и методов, я хочу повторно использовать метод, который у меня есть.Есть ли причина, по которой он это делает, и могу ли я что-то с этим сделать?

1 Ответ

0 голосов
/ 01 июня 2018

Иногда партиалы отображают URL-адреса по-разному в зависимости от того, откуда они вызываются.

Проверьте свою страницу и посмотрите, верен ли URL-адрес, отображаемый во второй форме.Если это так, найдите перегрузку метода, которая может правильно разрешить маршрут.

Вот список перегрузок: https://docs.microsoft.com/en-us/previous-versions/aspnet/web-frameworks/dd492974(v=vs.118)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...