我试图将用户从控制器上的方法重定向到另一个视图,但无论我做什么,都无法让它工作。我究竟做错了什么?这是我的代码:
public ActionResult SubmitReport(string JsonStringSend)
{
dynamic JSend = JObject.Parse(JsonStringSend);
var schema = JsonSchema4.FromType<ReportItem>();
var schemaData = schema.ToJson();
var errors = schema.Validate(JSend.JsonString);
schema = JsonSchema4.FromJson(schemaData);
//Check for errors and show them if they exist
if (errors.Count > 0)
{
//JSchema schema = JSchema.Parse(schema);
foreach (var error in errors)
Console.WriteLine(error.Path + ": " + error.Kind);
//JObject JsonString = JObject.Parse(JsonObj.JsonString.ToString());
//JObject JsonStringSent = JObject.Parse(JsonStringSend);
}
else
{
return Redirect("/Admin/Reporting/ReportManagement");
}
return View();
}
它永远不会重定向。我甚至试过这些:
Response.Redirect(Url.Action("/ReportManagement"));
RedirectToRoute(new { contoller = "ReportManagement", action = "Reporting" });
return RedirectToRoute(new { contoller = "Reporting", action = "ReportManagement" });
return RedirectToAction("ReportManagement");
似乎没有重定向,是什么给出了?
答案 0 :(得分:11)
您没有重定向到视图,而是重定向到某个操作或路径。如果我正确地解析了您正在尝试的路径,那么您将拥有此路径:
return Redirect("/Admin/Reporting/ReportManagement")
应该是
return RedirectToAction("Reporting", "ReportManagement", new { area="Admin" })
这假定管理区域中 ReportManagementController 类的报告操作。
答案 1 :(得分:3)
试试这个,应该可以工作:
return RedirectToAction("yourAnotherActionName","yourAnotherControllerName"); //It's very simply;)
我已经测试过了!