Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Vue.JS下拉列表中选定值的数据传递给C MVC POST控制器_Javascript_C#_Asp.net_Vue.js_Model View Controller - Fatal编程技术网

Javascript 将Vue.JS下拉列表中选定值的数据传递给C MVC POST控制器

Javascript 将Vue.JS下拉列表中选定值的数据传递给C MVC POST控制器,javascript,c#,asp.net,vue.js,model-view-controller,Javascript,C#,Asp.net,Vue.js,Model View Controller,我有一个表单,它主要是在ASP.NETMVC中构建的。我被要求在表单中添加一个新字段和其他功能。我放弃了使用ASP.NET razor语法来添加这些功能的想法。经过一段时间的努力,我决定使用Vue.JS来构建这些功能 现在的问题是,尽管我已经在前端构建了必要的功能,但我一直在努力找到一种方法,将下拉列表中的选定项传递给正在使用的MVC控制器,注意控制器已经存在,如下所示 [Route("request-withdrawal"), HttpGet] public ActionRe

我有一个表单,它主要是在ASP.NETMVC中构建的。我被要求在表单中添加一个新字段和其他功能。我放弃了使用ASP.NET razor语法来添加这些功能的想法。经过一段时间的努力,我决定使用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 powered下拉列表中选择的值传递给MVC POST controller进行处理。这个方法看起来像这样

 [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查询参数,因为我没有使用Vue调用POST方法。 2.我在想,也许一个隐藏的字段会以某种方式起作用,但我不确定具体如何

还请注意,Vue.JS支持的下拉列表从API端点获取数据

请帮忙。请告诉我该怎么做

谢谢


我要做的是将Vue.JS powered下拉列表中的选定值传递给上面的控制器操作

您的第一个想法是:在调用GET方法时是否使用URL查询参数?那很好。你在那里有什么烦恼?关于你的第二个想法:为什么要使用隐藏字段?为您的vue select元素指定一个v模型,并在调用C控制器方法时使用所选选项中的值:ABC代表您的想法第一:您在调用GET方法时是否使用URL查询参数?那很好。你在那里有什么烦恼?关于你的第二个想法:为什么要使用隐藏字段?为vue select元素指定一个v型,并在调用C控制器方法ABC时使用所选选项中的值