为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

智慧大石 2021-09-17 20:56:23
我试图将带有 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 代码并且没有带我到指定的视图
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您可以使用TempData将模型数据传递给重定向请求。您可以传递字符串、int、Guid 等简单类型。如果您想通过 TempData 传递复杂类型的对象,您可以将对象序列化为字符串并传递它。具体到您的情况,您可以使用:


 [HttpPost]

 public ActionResult New(NewCongressViewModel viewModel)

 {

   var complexObj = JsonConvert.SerializeObject(viewModel);

   TempData["mymodel"] = complexObj;

   return RedirectToAction("New");

 }


public ActionResult New()

{

    if (TempData["mymodel"] is string complexObj )

    {

        var getModel= JsonConvert.DeserializeObject<NewCongressViewModel>(complexObj); //Your model values can now be accessed

    }

    return View();

}

注意: 的值TempData仅从一个请求持续到下一个请求。


查看完整回答
反对 回复 2021-09-17
  • 1 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信