![](/img/trans.png)
[英]Cannot implicitly Convert type System.web.mvc.JsonResult to System.Generic.IEnumerable
[英]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,以便可以返回View , JSON , Content或Partial 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.