PDA

View Full Version : استفاده از User Control در MasterPage



professional2009
جمعه 21 شهریور 1393, 16:05 عصر
سلاممن در مستر پیج دو تا کنترل گذاشتم که نمیخوام همزمان با هم دیده بشه.یکی مربوط به لاگین و یکی مربوط به کنترل پنل کاربر.پس از اینکه کاربر شناسایی شد کنترل لاگین رو invisible میکنم ولی کنترل پنل کاربر رو کجا باید visible کنم؟

nice_boy_a
شنبه 22 شهریور 1393, 15:12 عصر
سلام.
فکر کنم منظورت از "کجا باید visible کنم" ، "چه زمانی" باشه !
این که خیلی ساده ست! بستگی به روشی داره که چطور هویت کاربر رو بررسی میکنی. مثلا اگه با Session این کار رو انجام بدی، باید Session رو چک بکنی و اگه خالی نبود، کنترل پنل نشون داده بشه و اگه خالی بود، لاگین نشون داده بشه.

professional2009
شنبه 22 شهریور 1393, 19:27 عصر
سلام.
فکر کنم منظورت از "کجا باید visible کنم" ، "چه زمانی" باشه !
این که خیلی ساده ست! بستگی به روشی داره که چطور هویت کاربر رو بررسی میکنی. مثلا اگه با Session این کار رو انجام بدی، باید Session رو چک بکنی و اگه خالی نبود، کنترل پنل نشون داده بشه و اگه خالی بود، لاگین نشون داده بشه.

نه منظورم همون کجا هست.
من در خود کنترل گفتم لاگین که تایید شد :

this.visible:false;
در صفحه دیفالت کنترل ها رو نمیشناسه که بخوام کنترل دوم رو نمایش بدم. چون کنترل ها در مستر پیج هستند.

nice_boy_a
شنبه 22 شهریور 1393, 19:52 عصر
شما از UserControl تو صفحه Master استفاده کردین یا Default ؟
واسه اینکه توی صفحه های دیگه تشخیص بدی لاگین درست بوده یا نه، باید از Property توی لاگین استفاده کنی، به این صورت که یه Property از نوع مثلا bool تعریف میکنی و وقتی هویت کاربر تصدیق شد، اون Property رو true میکنی(طبیعتا Property باید Public باشه).
و برای بررسی اینکه کاربر لاگین شده یا نه، توی صفحه ی Default باید اون Property رو چک کنی.

professional2009
یک شنبه 23 شهریور 1393, 11:51 صبح
شما از UserControl تو صفحه Master استفاده کردین یا Default ؟
واسه اینکه توی صفحه های دیگه تشخیص بدی لاگین درست بوده یا نه، باید از Property توی لاگین استفاده کنی، به این صورت که یه Property از نوع مثلا bool تعریف میکنی و وقتی هویت کاربر تصدیق شد، اون Property رو true میکنی(طبیعتا Property باید Public باشه).
و برای بررسی اینکه کاربر لاگین شده یا نه، توی صفحه ی Default باید اون Property رو چک کنی.
دوست خوبم

کنترل ها در مستر پیج هستند . من در صفحه دیفالت میخوام به اونها دسترسی داشته باشم .
امیدوارم واضح تعیین کرده باشم.

professional2009
یک شنبه 23 شهریور 1393, 11:55 صبح
مورد دیگری هم هست که ترجیح میدم نظر دیگران رو بدونم در موردش.
من دارم تعداد 16 تا کنترل مشابه رو در دیفلت از دیتابیس خونده و پر میکنم.
من ازGirdVIew استفاده کردم. و گرید رو پنهان کردم پرش کردم و به عنوان یک واسط ازش استفاده کردم.
اگر راه بهتری برای اینکار به نظرتون میرسه بگید..
متشکرم.

nice_boy_a
یک شنبه 23 شهریور 1393, 12:03 عصر
دوست خوبم

کنترل ها در مستر پیج هستند . من در صفحه دیفالت میخوام به اونها دسترسی داشته باشم .
امیدوارم واضح تعیین کرده باشم.

چه در Master و چه در سایر صفحات از همون روشی که گفتم میشه استفاده کرد.

nice_boy_a
یک شنبه 23 شهریور 1393, 12:08 عصر
مورد دیگری هم هست که ترجیح میدم نظر دیگران رو بدونم در موردش.
من دارم تعداد 16 تا کنترل مشابه رو در دیفلت از دیتابیس خونده و پر میکنم.
من ازGirdVIew استفاده کردم. و گرید رو پنهان کردم پرش کردم و به عنوان یک واسط ازش استفاده کردم.
اگر راه بهتری برای اینکار به نظرتون میرسه بگید..
متشکرم.

خیل مبهم گفتی!
یعنی UserControl ها رو از DB میخونی ؟ واسه نمایش UserControl ها از GridView استفاده کردی ؟
در کل هدفت مشخص نیس ! :چشمک:

professional2009
یک شنبه 23 شهریور 1393, 12:37 عصر
چه در Master و چه در سایر صفحات از همون روشی که گفتم میشه استفاده کرد.

سوال اینست:چطور در صفحات دیگر به کنترل های مستر میتوان دسترسی داشت.

professional2009
یک شنبه 23 شهریور 1393, 12:39 عصر
خیل مبهم گفتی!
یعنی UserControl ها رو از DB میخونی ؟ واسه نمایش UserControl ها از GridView استفاده کردی ؟
در کل هدفت مشخص نیس ! :چشمک:

خیر.
داده هااز دیتابیس به گریدویو منتقل میشوند سپس از گرید خوانده به کنترل جهت نمابش منتقل میشوند.

nice_boy_a
یک شنبه 23 شهریور 1393, 15:12 عصر
سوال اینست:چطور در صفحات دیگر به کنترل های مستر میتوان دسترسی داشت.

دوست عزیز هر سوال رو داخل یه تاپیک جداگانه مطرح کن، اینجوری زودتر به جواب میرسی.

به این روش:


Page.Master.FindControl("ControlName") as ControlType