返回url.action作为JSON对象MVC(return url.action as json

2019-09-30 09:17发布

我的控制器方法返回已URL形成如下JSON对象:

return Json(new { url = Url.Action("ShowContact", "Customer", new { vm = contactVM }) }, JsonRequestBehavior.AllowGet);

在Ajax调用的成功代码,我要分配给此网址到window.location.href所以我也可以把以查看每形成URL。 但是,Ajax调用的返回值显示为URL的一部分传递路线值的纯文本值。

因此,我没有收到任何路线值我想通过我的控制器的重定向操作方法。

那么,什么是为了通过我的路线值是复杂的C#对象包括藏品我有选择吗? 有没有更好的方式来实现我想要做什么?

谢谢,

Answer 1:

试着拼凑一起:

return Json(
    new
    {
        url = Url.Action("ShowContact", "Customer"),
        vm = contactVM
    },
    JsonRequestBehavior.AllowGet);

然后在客户端上:

var url = result.url + '?vm=' + JSON.stringify(result.vm);

当然,我从来没有测试过。



Answer 2:

您可以直接通过URL字符串,而不是“Url.Action()”。 事情是这样的:

string url = "Customer/ShowContact?vm=" + contactVM;

return Json(url , JsonRequestBehavior.AllowGet);


文章来源: return url.action as json object mvc