Ich hatte das folgende Stück Code in meiner Razor Layout-Ansicht (die von allen Ansichten in meiner Anwendung gemeinsam genutzt wird):Ist der Standardbereich für Html.BeginForm immer der aktuelle Bereich in ASP.NET MVC?
@using (Html.BeginForm("Logout", "Account", FormMethod.Post, new { id = ViewIDs.Shared._AuthenticationPartial.LogoutForm })) {
Das funktionierte mit meinem Hause und Konto Blick in Ordnung, das heißt, eine Form gebracht, dass Posted in ~/Konto/Abmelden. Wenn sie jedoch mit einer Ansicht innerhalb eines Bereichs namens "Person" verwendet wurde, wurde sie plötzlich in ~/Person/Account/Logout verschoben.
Nun, ich war in der Lage, dies zu beheben, wie folgt:
@using (Html.BeginForm("Logout", "Account", new { area = "" }, FormMethod.Post, new { id = ViewIDs.Shared._AuthenticationPartial.LogoutForm })) {
Ist dies der richtige Weg, dies zu tun, das heißt, ist der Standardbereich der aktuelle Bereich per Definition? Oder habe ich ein Konfigurationsproblem in meiner Anwendung?
Ja, das ist der richtige Weg. Sie benötigen das 'new {area =" "}', da der Standardbereich der aktuelle Bereich ist. – nemesv