如何将 JSON 对象从另一个视图发送到视图

我试图将带有 AJAX 的 JSON 对象从索引视图发送到控制器,而不是从控制器发送到方法 New,然后重定向到新视图。


我的 JS 代码来自索引视图:


function  startStrip(id, name, s_date, num, id_type, price){

            if (num == "") {

                num = 0;

            } else {

                num = parseInt(num);

            }

            var item = {

                itemId: parseInt(id),

                name: name,

                startDate: s_date.split(' ')[0],

                startTime: s_date.split(' ')[1],

                itemNum: num,

                IDItemType: parseInt(id_type),

                price:price

            }

            console.log(item);

            $.ajax({

                type: 'POST',

                url: '@Url.Action("New","Congress")',

                data: JSON.stringify(item), 

                contentType: 'application/json; charset=utf-8',

                success: function (response) {

                    console.log("sucess= "+response);

                },

                error: function (err) {

                    console.log("error= "+err);

                }

            });


        }

控制器:


 [HttpPost]

        public ActionResult New(NewCongressViewModel viewModel)

        {

            Console.WriteLine(viewModel);


            return View(viewModel);

        }

问题是控制器返回一个 HTML 代码并且没有带我到指定的视图


智慧大石
浏览 142回答 1
1回答

慕码人2483693

您可以使用TempData将模型数据传递给重定向请求。您可以传递字符串、int、Guid 等简单类型。如果您想通过 TempData 传递复杂类型的对象,您可以将对象序列化为字符串并传递它。具体到您的情况,您可以使用:&nbsp;[HttpPost]&nbsp;public ActionResult New(NewCongressViewModel viewModel)&nbsp;{&nbsp; &nbsp;var complexObj = JsonConvert.SerializeObject(viewModel);&nbsp; &nbsp;TempData["mymodel"] = complexObj;&nbsp; &nbsp;return RedirectToAction("New");&nbsp;}public ActionResult New(){&nbsp; &nbsp; if (TempData["mymodel"] is string complexObj )&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; var getModel= JsonConvert.DeserializeObject<NewCongressViewModel>(complexObj); //Your model values can now be accessed&nbsp; &nbsp; }&nbsp; &nbsp; return View();}注意: 的值TempData仅从一个请求持续到下一个请求。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript