ich folgendes in meinem RouteConfig.csASP.NET Route Ausgabe
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Home Controller-Datei hat die folgende:
[Route("NewIncident")]
public ActionResult NewIncident()
{
var viewModel = new IncidentFormViewModel();
viewModel.NextPage = 2;
return View("NewIncident",viewModel);
}
[Route("EditIncident/{id?}")]
public ActionResult EditIncident(int? id)
{
return View("EditIncidentPage" + id);
}
[Route("SaveIncident")]
public ActionResult SaveIncident(IncidentFormViewModel incidentviewmodel)
{
return RedirectToAction("EditIncident/" + incidentviewmodel.NextPage);
}
Aus meiner Indexansicht kann ich auf einen Knopf klicken, das hat wie folgt das @ Html.ActionLink:
@Html.ActionLink("New Incident", "NewIncident", "Home", null, new { @class = "btn btn-primary" })
ich auf die Website unter http://sitename/
und es lädt meine Index-Seite. Ich kann die Neuer Vorfall Schaltfläche klicken und es lädt http://sitename/NewIncident
ganz gut, aber wenn ich auf die Schaltfläche Speichern auf dem Formular Neuer Vorfall klicken, ruft sie die SaveIncident Funktion nur in Ordnung, aber wenn er trifft die return RedirectToAction("EditIncident/" + incidentviewmodel.NextPage);
es mir, anstatt nur zu http://sitename/Home/EditIncident/2
sendet http://sitename/EditIncident/2
.
Irgendeine Idee, warum es die /Home
dort hinzufügt?
„sendet er mir' http: // sitename/Home/EditIncident/2' statt nur 'http: // sitename/Startseite/EditIncident/2' "Diese sehen identisch aus. Was hast du versucht zu sagen? – ErikE
Sie fügt hinzu, die '/ Home' vor dem'/EditIncident/2'. Aber wenn ich NewIncident Schaltfläche aus der Index-Ansicht klicken, sendet sie mich an die 'NewIncident' Aktion, die auch innerhalb des' HomeController' lebt, aber die '/ Home' vor ihm nicht hinzugefügt werden. –
bearbeitet, um Tippfehler-Korrektur Pfadname –