Наконец, я смог найти решение своей проблемы.
В конце концов, мне даже не нужен код javascript вообще, кроме одной строки.Вот пример моего кода:
_Layout.cshtml код:
@await Component.InvokeAsync($"{ViewComponentName}", /* parameters for view component */)
ViewComponent .cshtml код:
@using (Html.BeginForm("ConrollerMethodName", "ControllerName", FormMethod.Post))
{
@Html.DropDownList("CurrentCampaignId", new SelectList(/* parameters */), new {onchange = "this.form.submit()"})
}
Контроллер код:
public IActionResult ControllerMethodName(int currentCampaignId) //The name of the parameter should be the same as the first parameter in DropDownList method. Otherwise, it will be null.
{
//Save your data
RedirectToAction(nameof(ActionYouNeed));
}
Надеюсь, это кому-нибудь поможет.
Спасибо Крису Пратту и Авину Кавишу за то, что они привели меня в правильном направлении.