ho avuto il seguente pezzo di codice, a mio avviso Razor Layout (che è condiviso da tutte le viste nella mia applicazione):L'area predefinita per Html.BeginForm è sempre l'area corrente in ASP.NET MVC?
@using (Html.BeginForm("Logout", "Account", FormMethod.Post, new { id = ViewIDs.Shared._AuthenticationPartial.LogoutForm })) {
questo ha funzionato bene con la mia casa e profilo è, cioè, reso una forma che pubblicato su ~/Account/Logout. Tuttavia, se utilizzato con una vista all'interno di un'area denominata "Persona", improvvisamente viene pubblicato in ~/Persona/Account/Esci.
Ora, sono stato in grado di risolvere questo problema come segue:
@using (Html.BeginForm("Logout", "Account", new { area = "" }, FormMethod.Post, new { id = ViewIDs.Shared._AuthenticationPartial.LogoutForm })) {
È questo il modo giusto per fare questo, vale a dire, è l'area predefinita, per definizione, l'area attuale? O sto riscontrando un problema di configurazione nella mia applicazione?
Sì, questo è il modo giusto. È necessario il 'new {area =" "}' perché l'area di default è l'area corrente. – nemesv