簡體   English   中英

將 url.action 作為 json 對象 mvc 返回

[英]return url.action as json object mvc

我的控制器方法返回 Json 對象,其 url 形成如下所示:

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

在 ajax 調用的成功代碼中,我想將此 url 分配給 window.location.href 以便我可以根據形成的 url 重定向查看。 但是ajax調用的返回值顯示作為url的一部分傳遞的路由值的純文本值。

來自檢查元素的快照

因此,我沒有得到任何想要傳遞給控制器​​的重定向操作方法的路由值。

那么,為了傳遞我的路由值(包括集合在內的復雜 c# 對象),我有哪些選項? 有沒有更好的方法來實現我想做的事情?

謝謝,

您可以直接傳遞 url 字符串而不是 'Url.Action()'。 像這樣的東西:

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

return Json(url , JsonRequestBehavior.AllowGet);

嘗試將其拼湊在一起:

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

然后在客戶端:

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

當然,我從來沒有測試過這個。

簡單而簡短

return Json(new { redirectUrl = @Url.Action("View", "Controller") });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM