У меня есть форма, которая в основном встроена в ASP. NET MVC. Меня попросили добавить новое поле и другие функции в форму. Я отказался от идеи использования синтаксиса бритвы ASP. NET для добавления этих функций, после некоторой борьбы с ним, я решил go с использованием Vue. JS для создания этих функций.
Проблема теперь в том, что, хотя я встроил необходимую функцию во внешний интерфейс, я изо всех сил пытался найти способ передать выбранный элемент раскрывающегося списка используемому контроллеру MVC. Обратите внимание, что контроллер уже существует следующим образом.
[Route("request-withdrawal"), HttpGet]
public ActionResult RequestWithdrawal(string customerId = null, string coreSystem = null, string portfolioCode = null)
{
var currentUser = GetCurrentUser();
var accounts = _accountService.GetAllByUser(currentUser.Id);
ViewBag.DropdownList = WithdrawalRequest.GetWithdrawalList();
var request = new WithdrawalRequest();
return View(request);
}
Мне не нужно вносить никаких изменений в код выше. Когда пользователь хочет отправить форму, мне нужно передать значение, выбранное в раскрывающемся списке с питанием Vue. JS, и отправить его на контроллер MVC POST для обработки. Этот метод выглядит следующим образом.
[Route("request-withdrawal"), HttpPost]
public ActionResult RequestWithdrawal(WithdrawalRequest request)
{
bool isError = !ModelState.IsValid;
if (!isError)
{
try
{
var resp = fluentApiClient.NewPostRequest("investnow", "save-withdrawal-request")
.AddBody(request.GetPayload()).GetResponse();
if (resp.Success)
{
ViewBag.Message = resp.Message;
isError = false;
return RedirectToAction(nameof(SuccessWithdrawal), new { resp.Message });
}
else
{
ModelState.AddModelError("", resp.Message);
isError = true;
}
}
catch (ApiException e)
{
isError = true;
ModelState.AddModelError("", e);
}
}
var currentUser = GetCurrentUser();
ViewBag.DropdownList = WithdrawalRequest.GetWithdrawalList();
return View(request);
}
Мои мысли 1. Я не уверен, что могу использовать параметр URL-запроса, так как я не вызываю метод POST с Vue. 2. Я думаю, что, возможно, скрытое поле будет работать как-то, но я не уверен, как именно.
Также обратите внимание, что раскрывающийся список с поддержкой Vue. JS получает свои данные от конечной точки API.
Пожалуйста, помогите. Пожалуйста, посоветуйте, как мне это сделать.
Спасибо
Что я хочу сделать, это передать выбранное значение из раскрывающегося списка с питанием Vue. JS вышеупомянутому действию контроллера.