tôi đã có đoạn mã sau đây theo quan điểm của Razor Layout của tôi (được chia sẻ bởi tất cả các quan điểm trong ứng dụng của tôi):Là khu vực mặc định cho Html.BeginForm luôn luôn là khu vực hiện tại trong ASP.NET MVC?
@using (Html.BeginForm("Logout", "Account", FormMethod.Post, new { id = ViewIDs.Shared._AuthenticationPartial.LogoutForm })) {
này làm việc tốt với lượt xem Trang chủ và tài khoản của tôi, tức là, nó trả lại một hình thức mà được đăng lên ~/Tài khoản/Đăng xuất. Tuy nhiên, khi được sử dụng với chế độ xem bên trong một khu vực được gọi là "Người", nó đột nhiên được đăng lên ~/Người/Tài khoản/Đăng xuất.
Bây giờ, tôi đã có thể khắc phục điều này như sau:
@using (Html.BeginForm("Logout", "Account", new { area = "" }, FormMethod.Post, new { id = ViewIDs.Shared._AuthenticationPartial.LogoutForm })) {
Đây có phải là đúng cách để làm điều này, ví dụ, là khu vực mặc định bằng cách định nghĩa các khu vực hiện tại? Hoặc tôi đang gặp sự cố cấu hình trong ứng dụng của mình?
Có điều này là đúng. Bạn cần 'new {area =" "}' vì khu vực mặc định là khu vực hiện tại. – nemesv