logoff زمانی که از area استفاده میکنید

8/11/2017 MVC
3420

برا ی مدیریت سایت و یا برنامه های جانبی برای شرکتها من از area  استفاده میکنم ، و خوب کاربر با دسترسی های خاص وارد کنترل پنل خودش میشود

اما مشکل اینه که زمانی از Login  خود mvc  استفاده کنید و خودتان آن را پیاده سازی نکرده باشید و روی دکمه خروج کلیک کنیدبه شما پیغا م میدهد که logoff  در زیر مجموعه area  وجود ندارد

برا ی این کار بهتر این است که در View اصلی و نه در View های داخل area  به قسمت _Layout  رفته و در پارشیال ویوو _LoginPartial در

 

قسمت Html.BeginForm این تغییرات را اعمال کنید 

@using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
    using (Html.BeginForm("LogOff", "Account",new{ area = ""}, FormMethod.Post, new { id = "logoutForm",  @class = "navbar-right" }))
    {
    @Html.AntiForgeryToken()

    <ul class="nav navbar-nav navbar-right">
        <li>
            @Html.ActionLink("خوش آمدید " + User.Identity.GetUserName() + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
        </li>
        <li><a href="javascript:document.getElementById('logoutForm').submit()">خروج</a></li>
    </ul>
    }
}
else
{
    <ul class="nav navbar-nav navbar-right">

        <li>@Html.ActionLink("ورود", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
    </ul>
}

 

new{ area = ""}

 

را اضافه کردم