PDA

View Full Version : سوال: لوپ افتادن لود يك صفحه در mvc



shaki_phd
سه شنبه 25 مهر 1391, 17:37 عصر
سلام
من يك مشكل دارم
من توي صفحه _Layout.cshtml (مسترپيجم) يك قسمت مسترپيجم را گذاشتم براي لاگين كاربر كه به اين صورت كه اگر كاربرم لاگين كرده بود مشخصات كاربري را بهش نمايش ميدم و اگر لاگين نكرده بود بهش فرم لاگين را نمايش ميدم با استفاده از دستور زير اين چكينگ را انجام ميدم


@if (Session["User"] == null)
{
Html.RenderAction("LogOn", "User");
}
else
{
Html.RenderAction("LoggedIn", "User");
}

به طور مثال اول كه لود ميشه چون session خاليه ميره تو ويوي logon بعدش كه رندر شد دوباره بر ميگرد تو مستر پيج كه از اول لودش كنه دوباره چون session خاليه ميره تو ويوي logon و اين چرخه تا آخر ادامه داره
اصلا من چكار بايد بكنم كه بعد از اينكه ويوي logon رندر شد ديگه مسترپيجم لود نشه من حتي پروپرتي [ChildActionOnly] را بالاي اكشن logon گذاشتم اما بازم تو لوپ ميفته
ممنونم ميشم جواب بديد

shaki_phd
چهارشنبه 26 مهر 1391, 14:32 عصر
مشكلم حل شد
بايد از partialview استفاده ميكردم

مهدی کرامتی
چهارشنبه 03 آبان 1391, 13:18 عصر
برای لاگین نیز بهتر است از Forms Authentication استفاده کنید.

amirashna
چهارشنبه 08 آذر 1391, 20:55 عصر
پیشنهاد من همون پیشنهاد MVC هست و استفاده از


@if(Request.IsAuthenticated) {
<text>خوش آمدید <strong>@User.Identity.Name</strong>!
[ @Html.ActionLink("خروج", "LogOff", "Account") ]</text>
}
else {
@:[ @Html.ActionLink("ورود به پایگاه", "LogOn", "Account") ]
}