PDA

View Full Version : سوال: دسترسي به Tab مشخص از صفحه اي كه درآن Tabcontainer قرار دارد



msadgd
چهارشنبه 29 آبان 1387, 12:46 عصر
با سلام خدمت دوستان.
من دريكي از صفحات سايتم (اسمش رو ميزاريم صفحه 2) از Tabcontaner از ابزار هاي (Ajaxtoolkit) استفاده كردم كه فعلا شامل 3 قسمت (Tab) هست. كه اين TabContainer درون يك ContentPlaceHolder قرار داره (چون از Master Page استفاده شده) الآن من قصد دارم با كليك روي يك لينك كه در صفحه 1 قرار داره وارد همين صفحه 2 بشم و Tab شماره 2 برام باز بشه. و همينطور لينكهاي ديگه اي در صفحه 1 كه هركدوم وظيفه باز كردن Tab مربوط به خودشون رو از صفحه 2 ، دارن . خواستم ببينم بايد چكار كرد؟ :متفکر:
ممنون
سلامت و پيروز باشيد

msadgd
چهارشنبه 29 آبان 1387, 23:37 عصر
دوستان كسي اطلاعي نداره؟

hassanf
پنج شنبه 30 آبان 1387, 00:18 صبح
سلام

با QueryString یه مثلا شماره Tab رو به صفحه2 بفرست .



Response.Redirec("Page1.aspx?TabNumber=2")


بعد تو Page load چک کن ببین چه شماره ای فرستاده شده و



if(Request.QueryString["TabNumber"].ToString() == "1")

TabContainer1.ActiveTab = TabPanel1;

elseif (Request.QueryString["TabNumber"].ToString() == "2")

TabContainer1.ActiveTab = TabPanel2;

elseif (Request.QueryString["TabNumber"].ToString() == "3")

TabContainer1.ActiveTab = TabPanel3;

msadgd
پنج شنبه 30 آبان 1387, 10:02 صبح
حسن جان از راهنماييت ممنونم.
منتها يه مسئله اي هست و اونم اينكه همنطور كه گفتم صفحه2 از يه مسترپيج استفاده ميكنه و tabcontaner توي ContentPlaceHolder قرار داره و من اصلا از قسمت كدها دسترسي يه اين Tabcontaner ندارم. يعني قسمت tabcontaner.activetab رو ايراد ميگيره. چكار بايد بكنم؟

بازم مرسي

hassanf
پنج شنبه 30 آبان 1387, 21:17 عصر
در صفحه ای که از TabContainer استفاده می کنی این کد باید بنویسی.
که یا MasrerPage یا صفحه 2.

msadgd
پنج شنبه 30 آبان 1387, 22:30 عصر
حسن خان محترم مسلما توي صفحه 2 مي نويسم صفحه اي كه Tabcontainer توش قرار داده.
فكر مي كنم علت اينكه توي كد نميتونم Tabcontainer رو ببينم اينه كه توي Contentplaceholder قرار گرفته. به هر حال هر دليلي كه داره، وجود اون رو تشخيص نميده. مطمئنا كدي كه شما گفتي راه گشاست اما فعلا اين قسمتش گير افتاده. اگر بتونيد كمكم كنيد ممنون ميشم.

hassanf
پنج شنبه 30 آبان 1387, 22:58 عصر
من خان نیستم !
کدت رو بفرست ببینم چه کارکردی.

msadgd
جمعه 01 آذر 1387, 00:13 صبح
من خان نیستم !
کدت رو بفرست ببینم چه کارکردی.

عزيزجان اصلا كدي نميشه نوشت. اصلا چيزي رو بمن نشون نمي ده كه بخوام كدش رو بنويسم.
بزار يكم واضحتر توضيح بدم :
الآن ما يك MasterPage داريم و دو صفحه (Page1 , page2) كه هردوتاشون از اين masterpage ارث بردن. اين تا اينجا. توي صفحه 1 من يدونه لينك دارم به اين شكل :

<a href="page2.aspx">
كه لينك ميشه به صفحه2. تا اينجاش كه درست. براي همين اصلا كاري به اين لينك نداريم. من يه لينك باتن قرار دادم (توي همين contentplaceholder از صفحه1) و توي onclick كدي كه گفته بودين رو نوشتم (response.redirect) كه خطاي زير رو هنگام كليك كردن روي اين لينك باتن صادر مي كنه :

BC30506: Handles clause requires a WithEvents variable defined in the containing type or one of its base types.
حالا اين تا اينجا.

توي صفحه 2 كه باز توي contentplaceholder يك Tabcontainer قرار داره، توي قسمت كد فقط گزينه PageEvent توي ليستش هست و هيچ خبري از tabcontaner نيست كه بخوام توي Pageloud اون رو صدا بزنم. اصلا توي كدها همچين چيزي ديده نميشه . يعني اصلا هيچي ديده نميشه. يعني حتي يه باتن هم توي contentplaceholder قرار دادم ، اون رو هم نميبينه.
آخه من واسه چي چي كد بنويسم؟ :افسرده:

نمي دونم مي خواين خودتون يه پروژه اين شكلي ايجاد بكنين ببينبن چي ميشه؟
ببخشيد وقتتون رو گرفتم.
از توجهتون واقعا ممنونم

msadgd
سه شنبه 05 آذر 1387, 22:27 عصر
سلام به همگي.
دوستان مارو هم فراموش نكنيد. مشكل من هنوز سرجاشه و حل نشده.
اگه دوستان لطف كنن و يه راه حل بدن ممنون ميشم.

msadgd
چهارشنبه 13 آذر 1387, 00:55 صبح
من خان نیستم !
کدت رو بفرست ببینم چه کارکردی.

حسن جان :لبخندساده: عزيز
به هر شكلي بود درستش كردم. دستت ترد نكنه درست هم جواب ميده . ولي يه گيري ميده.
ببين عزيز، وقتي از اون لينكهاي اول و دوم وارد ميشه كه براش request تعريف كرديم و شما كدش رو محبت كردي، درسته. اما وقتي با منو به صفحه 2 مي رم، كه لينك منو هست page2.aspx error ميده . ميگه:
Object reference not set to an instance of an object
و روي خط اول If گير ميده (زرد ميشه). اما وقتي با لينكها (requst) وارد ميشه، ديگه ارور نداره.
هركاري كردم نشد. نظر دوستان چيه؟