2010-11-28 21 views
1

Wie kann ich auf einen anderen Controller umleiten?asp.net mvc: Rückkehr URL in anderen Controller

Ich habe eine Rückkehr URL wie folgt ein:

Auf einer Admin/estates Ausblick:

<% using (Html.BeginForm("Delete", "Estates", new {returnUrl = "Admin/Estates"})) 
{ %> 
     <%: Html.Hidden("EstateId", estate.EstateId) %> 
     <button type="submit" onclick="return DoDelete()">Delete</button> 
<% } %> 

Anrufe an Estates Controller Aktion:

[HttpPost] 
    public ActionResult Delete(FormCollection collection, string returnUrl) 
    { 
     return Redirect(returnUrl ?? Url.Action("Index", "Estates")); 
    } 

Mein Problem ist, dass, wenn ich sende das Löschen von dem Admin, leitet es zu der nicht existenten URL um: localhost/estates/admin/estates. Wie kann ich richtig umleiten?

Antwort

0
if (!string.IsNullOrEmpty(returnUrl)) 
{ 
    return Redirect(returnUrl); 
} 
return RedirectToAction("Index", "Estates"); 

und in der Form:

<% using (Html.BeginForm("Delete", "Estates", 
    new { returnUrl = Url.Action("Admin", "Estates") })) 
{ %> 
     <%: Html.Hidden("EstateId", estate.EstateId) %> 
     <button type="submit" onclick="return DoDelete()">Delete</button> 
<% } %> 
+0

gleiche Problem, 'Redirect (returnUrl)' schickt mich auf die gleiche 'localhost/Stände/admin/estates' url –

+0

' new {returnUrl = URL. Aktion ("Admin", "Estates")} ' –