2016-05-06 12 views
1

Ich versuche, einen Benutzer von einer Methode auf einem Controller zu einer anderen Ansicht umzuleiten, kann sie aber nicht zum Laufen bringen, egal was ich mache. Was mache ich falsch? Hier ist mein Code:Benutzer vom Controller zu einer anderen Ansicht umleiten MVC

  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(); 
     } 

Es leitet nie um. Ich habe sogar versucht, diese:

Response.Redirect(Url.Action("/ReportManagement")); 
RedirectToRoute(new { contoller = "ReportManagement", action = "Reporting" }); 
return RedirectToRoute(new { contoller = "Reporting", action = "ReportManagement" }); 
return RedirectToAction("ReportManagement"); 

Nichts scheint umzuleiten, was gibt?

+0

Wenn Sie den Code im Debug-Modus durchlaufen, was passiert? – Cortright

+0

Nichts, wenn ich zu 'return Redirect ("/Admin/Reporting/ReportManagement ") komme;' es geht einfach weiter –

+0

Wie lautet deine aktuelle URL? – Cortright

Antwort

4

Sie leiten nicht zu einer Ansicht um, sondern leiten sie zu einer Aktion oder Route um. Wenn ich richtig bin den Weg Parsen Sie versuchen, wo Sie diese haben:

return Redirect("/Admin/Reporting/ReportManagement") 

sollte

return RedirectToAction("Reporting", "ReportManagement", new { area="Admin" }) 

sein Dies setzt voraus, eine Berichterstattung Aktion auf einem ReportManagementController Klasse im Admin Bereich.

1

dies versuchen, sollte es Arbeit sein:

return RedirectToAction("yourAnotherActionName","yourAnotherControllerName"); //It's very simply;) 

Ich habe es getestet!