簡體   English   中英

無法將類型'System.Web.Mvc.RedirectToRouteResult'隱式轉換為'System.Web.Mvc.JsonResult'

[英]Cannot implicitly convert type 'System.Web.Mvc.RedirectToRouteResult' to 'System.Web.Mvc.JsonResult'

我如何從JsonResult重定向到ActionResult,但我得到錯誤。 我的錯誤是“無法隱式轉換類型‘System.Web.Mvc.RedirectToRouteResult’到‘System.Web.Mvc.JsonResult’”。 我的守則

Json結果:

   public JsonResult AddTruckExpensesTransactionChild(string totaldays, string amount)
   {
        string Mess = objActive.Save();
        if (Mess == "1")
        {
            return RedirectToAction("GetTruckExpensesChild", new { id="", sid="" });
        }
        return Json(Mess, JsonRequestBehavior.AllowGet);
   }

的ActionResult:

    public ActionResult GetTruckExpensesChild(string id, string sid)
    {
        TruckExpensesTransactionClass Transaction = new TruckExpensesTransactionClass();
        if (sid != null)
        {                
            Transaction.TransactionChild = objActive.ShowTransactionChild(id, sid);
            return View(Transaction);
        }
        else
        {                
            return View(Transaction);
        }
    }

您需要使用基類ActionResult,以便可以返回ViewJSONContentPartial View

public ActionResult AddTruckExpensesTransactionChild(string totaldays, string amount)
   {
        string Mess = objActive.Save();
        if (Mess == "1")
              return Json(new { Url = Url.Action("GetTruckExpensesChild", new { id = "", sid = "" }) });

        return Json(Mess, JsonRequestBehavior.AllowGet);
   }

但是如果您通過ajax調用此操作,則必須通過javascript重定向到該操作,因為返回RedirectToAction將返回html以響應ajax而不是重定向。

所以你需要通過json返回動作URL和一些標志,並檢查如果響應有那個標志,通過jquery重定向到該URL。

在Ajax中調用成功檢查其url:

success: function(result) {
          if(result.Url.length > 0)
{
        window.location.href=result.Url;
}

JsonResult類實現ActionResult類。 只需將JsonResult更改為ActionResult作為action方法的返回類型:

public ActionResult AddTruckExpensesTransactionChild(string totaldays, string amount)
{
    string Mess = objActive.Save();
    if (Mess == "1")
    {
        return RedirectToAction("GetTruckExpensesChild", new { id="", sid="" });
    }
    return Json(Mess, JsonRequestBehavior.AllowGet);
}

暫無
暫無

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

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