Din*_*esh 5 c# model-view-controller asp.net-mvc json asp.net-mvc-2
我如何从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);
}
Run Code Online (Sandbox Code Playgroud)
的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);
}
}
Run Code Online (Sandbox Code Playgroud)
您需要使用基类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);
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您通过ajax调用此操作,则必须通过javascript重定向到该操作,因为返回RedirectToAction
将返回html以响应ajax而不是重定向。
因此,您需要通过带有某些标志的json返回操作网址,并检查响应是否具有该标志,请通过jquery重定向到该网址。
在Ajax调用成功中,检查其URL:
success: function(result) {
if(result.Url.length > 0)
{
window.location.href=result.Url;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26925 次 |
最近记录: |