PDA

View Full Version : چطور نوع View یا نام Action را در Layout تشخیص بدیم؟



pouria_bayat
دوشنبه 22 تیر 1394, 00:26 صبح
سلام دوستان چطور می تونیم توی یک Layout تشخیص بدیم که کدام View در حال اجراست! مثلا من یک Partial برای Login توی Layout ایجاد کردم به شکل زیر:


@Html.Partial("_LoginPartial")

می خواهم اگر کاربر توی صفحه Login هستش دیگه این Partial نمایش داده نشه.
نیاز به دو فرم login نباشه توی یک صفحه.

pouria_bayat
دوشنبه 22 تیر 1394, 00:43 صبح
اینرو من پیدا کردم:


@Request.RawUrl

ولی اگر راهی دیگه بود خوشحال میشم بدونم.

hakim22
دوشنبه 22 تیر 1394, 11:17 صبح
اصولا یک Layout هیچ درکی از ویوهایی که قراره درونش اجرا بشن نداره و نباید هم داشته باشه

پیشنهاد من این است که شما اول بجای استفاده از یک PartialView خالی از یک اکشن از نوع PartialView در سمت سرور استفاده کنید که همین پارشیال ویو رو نمایش بده و بعد در سمت سرور
کدهای شرطی بنویسید که از درون httpContext جاری نام Area و Controller و اکشنی که در حال فراخوانی متد هست بدست آورید.

اگر از این مکانیزم در سایت زیاد استفاده می کنید میتوانید با یک ActionFilter کد رو بهتر مدیریت کنید.

TeacherMath
دوشنبه 22 تیر 1394, 11:42 صبح
از ViewBag استفاده کنید. viewBag را سمت کنترل تنظیم کنید سپس در _layout اونو بررسی کنید ببینید مربوط به کدوم ویو هست.