PDA

View Full Version : سوال: دسترسی به کنترل های درون Master Page در Content Page



mehrnaz_ss
چهارشنبه 31 تیر 1388, 19:04 عصر
با سلام
من یک مستر پیج دارم و یک lable روی اون گذاشتم حالا می خوام در صفحه دیگه که از اون مستر پیج خوراک میگیره برای اون lable کد بنویسم ولی اسم اون lable نمیاد ، چه کاری باید انجام بدم؟

علیرضا مداح
پنج شنبه 01 مرداد 1388, 08:41 صبح
سلام دوست عزیز،
باید از پروپرتی Master مربوط به Content Page استفاده نمایید که امکان دسترسی به Master Page را فراهم می آورد و مقدار بازگشتی آن از نوع System.Web.UI.MasterPage می باشد،/

مهدی کرامتی
پنج شنبه 01 مرداد 1388, 09:03 صبح
Control lblMyLabel = Master.FindControl("Label1");
if(lblMyLabel != null)
{
((Label) lblMyLabel).Text = "Salam";
}

Behrouz_Rad
پنج شنبه 01 مرداد 1388, 10:12 صبح
قشنگتر اینه که یک Property در Master Page ایجاد کنی و از طریق اون به مقداری که میخوای دسترسی پیدا کنی.


public string LabelText
{
get { return MyLabelText.Text; }
set { MyLabelText.Text = value; }
}

و سپس، با استفاده از دایرکتیو MasterType که باید در Content Page بنویسش، به صورت Strongly typed بهش دسترسی داشته باشی:


<%@ MasterType VirtualPath="~/MasterPage.master" %>

در این حالت، خیلی راحت به شکل ذیل می تونی مقدار مورد نظر رو ست کنی:


this.Master.LabelText = "jik jik";

موفق باشید.

khorsandreza
پنج شنبه 15 مهر 1389, 18:59 عصر
قشنگتر اینه که یک Property در Master Page ایجاد کنی و از طریق اون به مقداری که میخوای دسترسی پیدا کنی.


public string LabelText
{
get { return MyLabelText.Text; }
set { MyLabelText.Text = value; }
}

و سپس، با استفاده از دایرکتیو MasterType که باید در Content Page بنویسش، به صورت Strongly typed بهش دسترسی داشته باشی:


<%@ MasterType VirtualPath="~/MasterPage.master" %>

در این حالت، خیلی راحت به شکل ذیل می تونی مقدار مورد نظر رو ست کنی:


this.Master.LabelText = "jik jik";

موفق باشید.
اگر بخواهیم به صفحه default.aspx دسترسی داشته باشیم
<%@ MasterType VirtualPath="~/MasterPage.master" %>
دستور بالا چه شکلی میشه
اگه مثال باشه ممنون

blackcats
پنج شنبه 15 مهر 1389, 20:18 عصر
خیلی زیبا و قشنگ بود تا به حال به چنین موضوعی بر نخورده بودم.

majnun
پنج شنبه 15 مهر 1389, 21:11 عصر
ممنون دوستان وقعا حالب بود :لبخند:

Behrouz_Rad
پنج شنبه 15 مهر 1389, 21:47 عصر
اگر بخواهیم به صفحه default.aspx دسترسی داشته باشیم
<%@ MasterType VirtualPath="~/MasterPage.master" %>
دستور بالا چه شکلی میشه
اگه مثال باشه ممنون
همون طوری که نوشتی میشه.

khorsandreza
پنج شنبه 15 مهر 1389, 21:55 عصر
همون طوری که نوشتی میشه.

من مستر پیج ندارم فرم اصلی default.aspx است و برچسب مورد نظر در همین صفحه default میباشد و دستور زیر را قرار میدم خطا میگیره
البته این دستور را
<%@ MasterType VirtualPath="~/MasterPage.master" %>
به شکل زیر عوص میکنم
<%@ MasterType VirtualPath="~/default.aspx" %>
یعنی از صفحه news.aspx نمیتوانم در صفحه default.aspx مقدار برچسب را تغییر دهم

khorsandreza
جمعه 16 مهر 1389, 09:08 صبح
یعنی از صفحه news.aspx نمیتوانم در صفحه default.aspx مقدار برچسب را تغییر دهم



سلام مجدد:
این مشکل همچنان باقی است از دوستان راه حلی پیشنهاد ندارند راهنمائی بفرمایند

Behrouz_Rad
جمعه 16 مهر 1389, 10:09 صبح
من مستر پیج ندارم فرم اصلی default.aspx است و برچسب مورد نظر در همین صفحه default میباشد و دستور زیر را قرار میدم خطا میگیره
البته این دستور را
<%@ MasterType VirtualPath="~/MasterPage.master" %>
به شکل زیر عوص میکنم
<%@ MasterType VirtualPath="~/default.aspx" %>
یعنی از صفحه news.aspx نمیتوانم در صفحه default.aspx مقدار برچسب را تغییر دهم


برادر من، وقتی Master Page نداری که دایرکتیو MasterType معنا نداره!!!

از صفحه ی News.aspx مقدار کنترلی در Default.aspx رو تغییر بدی؟ سناریوت هر چی که هست ارتباطی با موضوع این تاپیک نداره. سوالت رو در یک تاپیک جدید مطرح کن.

موفق باشید.