3812
برا ی مدیریت سایت و یا برنامه های جانبی برای شرکتها من از 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 = ""}
را اضافه کردم