Вызов метода действия контроллера частичного представления

У меня есть частичное представление, которое заполняет параметр выбора. Из другого представления мне нужно вызвать предыдущее частичное представление, чтобы отобразить мой компонент <select> <option> />.

Однако мне нужно вызвать частичное представление С соответствующим контроллером.

Примечание. Я использую .NET Core 6.

Вот мой контроллер:

 public async Task<IActionResult> getYearMonth()
        {
            var result = await _context.MonthlyConsumption.Select(t => new { t.Time.Year, t.Time.Month }).ToListAsync();
            return PartialView(result); 
        }

И мой PartialView:

@model IEnumerable<TestLogin.Models.MonthlyConsumption>

<select name="mois" id="mois">
    @foreach(var item in Model){
        <option value="@Html.DisplayFor(modelItem => item.Time)">@Html.DisplayFor(modelItem => item.Time)</option>
    }
</select>

Я хочу вызвать метод действия контроллера частичного представления. Я пытался использовать @Html.Action, @Html.RenderAction, но не могу. @Html.Action не работает, потому что я использую .NET 6

И я не знаю, почему @Html.RenderAction не работает: IHtmlHelper does not contain definition for RenderAction. Я посмотрел, почему я получаю это сообщение об ошибке. Некоторые люди говорят, что вам нужно импортировать System.Web.Mvc, но я не могу заставить его импортировать в .NET 6.

Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
0
0
98
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

@Html.RenderAction и @Html.Action недоступны в Asp.Net Core. Есть два метода, с помощью которых можно добиться желаемого.

Первый метод заключается в использовании View Component. Это новая функция в Asp.Net Core, а также официально рекомендуемый метод. Более подробную информацию вы можете найти по этой ссылке.

Второй метод заключается в использовании ajax, вы можете использовать ajax для доступа к действию. Затем в методе успеха вы можете использовать js, чтобы добавить это частичное представление в основное представление.

Я использовал View Component, и он отлично работает, спасибо.

sylvaing 21.11.2022 09:46

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