View Full Version : دسترسی به کنترل های درون مسترپیج
rahil_2008
شنبه 29 خرداد 1389, 19:53 عصر
سلام دوستان
می خواستم ببینم چه جوری می شه در یک صفحه ای که از یک مسترپیج خوراک گرفته به کنترلهای داخل مسترپیج دسترسی پیدا کرد؟
Vahid_moghaddam
شنبه 29 خرداد 1389, 20:17 عصر
مثال:
//master page
public string Name
{
get {return txbName.Text;}
set {txbName.Text=value;}
}
//content page
((YourMasterPage) Master).Name="name";
Peyman.Gh
شنبه 29 خرداد 1389, 20:19 عصر
بطور مثال برای کادر متنی که در Master Page قرار دارد.
TextBox Test = (TextBox)Master.FindControl("TextBox1");
Response.Write(Test.Text);
موفق باشید.
rahil_2008
یک شنبه 30 خرداد 1389, 20:42 عصر
با سلام و تشکر از توجه شما دوستان
من هر دو راهو تست کردم
برای این کد:
//master page
2.public string Name
3.{
4.get {return txbName.Text;}
5.set {txbName.Text=value;}
6.}
view source (http://www.barnamenevis.org/forum/showthread.php?t=228708#viewSource)
print (http://www.barnamenevis.org/forum/showthread.php?t=228708#printSource)? (http://www.barnamenevis.org/forum/showthread.php?t=228708#about)
1.//content page
2.((YourMasterPage) Master).Name="name";
در قسمت your masterpage من می خواستم نام مسترپیج را بیارم ولی تو اینتلیسنس نمی اومد دستی هم نوشتم که طبیعتا پیام خطا می داد
و برای کد:
TextBox Test = (TextBox)Master.FindControl("TextBox1");
2. Response.Write(Test.Text);
هم با پیام خطای زیر مواجه شدم:
Error 1 Cannot convert type 'System.Web.UI.MasterPage' to 'System.Web.UI.WebControls.TextBox' C:\Documents and Settings\z\My Documents\Visual Studio 2008\WebSite3\Default.aspx.cs 18 25 C:\...\WebSite3\
لطفا راهنمایی کنید
Peyman.Gh
یک شنبه 30 خرداد 1389, 20:50 عصر
این کد را در Master Page نوشته اید ؟!
TextBox Test = (TextBox)Master.FindControl("TextBox1");
Response.Write(Test.Text);
Vahid_moghaddam
یک شنبه 30 خرداد 1389, 22:03 عصر
اگه صفحه شما master page داشته باشه، توی صفحه می تونید به کلاس master page دسترسی داشته باشید. هر دو کد گذاشته شده، کاملا درسته و عمل می کنه. یه جایی اشتباه کردید
rahil_2008
دوشنبه 31 خرداد 1389, 12:10 عصر
من کاریو که گفتین انجام دادم اما نشد
کدمو می زارم تو ضمیمه اگه زحمتی نیست ببینید
Vahid_moghaddam
دوشنبه 31 خرداد 1389, 12:21 عصر
کد رو براتون تغییر دادم.
1. چرا txt1 رو در content place holder قرار دادید؟
2. کلاس MasterPage در پروژه شما Masterpages_MasterPage هست و برای cast باید از این نام استفاده کنید.
Peyman.Gh
دوشنبه 31 خرداد 1389, 12:23 عصر
دوست عزیز در Master Page نباید اشیا را در ContentPlaceHolder قرار دهید.
این کد هم از Master Page پاک کنید.
TextBox Test = (TextBox)Master.FindControl("txt1");
Response.Write(Test.Text);
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.