PDA

View Full Version : سوال: بستن repeater



mjt10063
یک شنبه 22 اردیبهشت 1392, 23:26 عصر
با سلام دوستان نمیدونم عنوان خوبی هست یا نه
ولی یه مشکلی دارم
اونم اینه که وقتی تو یه صفحه repeater رو لود میکنیم
و به کنترل های دیگه صفحه میریم همچنان repeater باقی می مونه
خواستم بدونم کد close نداره ه بعد از اینکه اطلاعات رو نمایش داد
بسته بشه

با تشکر

aliblue
دوشنبه 23 اردیبهشت 1392, 11:21 صبح
سوالتون کمی گنگه و منظورتونو از "به کنترل های دیگه صفحه میریم" نفهمیدم ولی نمایان ماندن repeater به این معنی نیست که دائما اطلاعات را میخواند.
در ضمن اگر repeater را با کدنویسی پر می کنید، می توانید Connection را close کنید و اگر با SqlDataSource پر می کنید نیازی به این کار نیست.

mjt10063
دوشنبه 23 اردیبهشت 1392, 11:49 صبح
من تویه صفحه دوتا ریپرتر دارم
منظورم اینه که من اطلاعات رو نمایش میدم از ریپرتر 1
خوب
و بعد میرم اطلاعات ریپرتر 2 رو نمایش میدم
خوب
وقتی اطلاعات ریپرتر 2 نمایش داده میشه ریپرتر 1 همچنان در حالت قبل


میدونم مدام اطلاعات رو نمیخونه و فقط 1 بار خونده
و کانکشن هم close میشه

می خوام وقتی ریپرتر 2 نمایش داده میشه ریپرتر 1 بسته بشه یا پاک بشه
مثل کد تکس باکس

textbox.text ="";

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

راه حل :
اجرای ریپرتر 1
خاصیت نمایش ریپرتر 1 تائید
خاصیت نمایش ریپرتر 2 تائید نشود-

اجرای ریپرتر 2
خاصیت نمایش ریپرتر 2 تائید
خاصیت نمایش ریپرتر 1 تائید نشود

بازم تشکر

aliblue
دوشنبه 23 اردیبهشت 1392, 11:56 صبح
اگر توضیح دهید که چه کار می خواهید بکنید و چرا از ریپیتر 1 میخواهید ریپیتر 2 را پر کنید و چرا مستقیما ریپیتر2 را از دیتاسورس پر نمی کنید،بهتر می توان راهنمایی کرد.یعنی چه نیازی به ریپیتر 1 هست؟

در ضمن آیا این عملیات در page_load انجام میشوند؟یعنی میخواهید که کاربر اصلا ریپیتر 1 را نبیند؟

ahmad156
دوشنبه 23 اردیبهشت 1392, 12:06 عصر
DataSource اون رو null کنین به شرط اینکه این کار مجبور باشین طرف سرور انجام بدین مثلا علاوه بر اینکه میخواین Repeater رو نشون ندین یه عملیات دیگه قراره سمت سرور انجام بشه.ولی اگر صرفا کارتون نمایش یا عدم نمایش هست از jquery استفاده کنین تا نیاز به postback نباشه

mjt10063
دوشنبه 23 اردیبهشت 1392, 16:35 عصر
نه ریپرتر ها به هم ربطی ندارن و هرکدوم دارن کار خودشون رو میکنند

خوب

من ریپرتر 1 رو از یه جدول دیگه میخونم و نمایش میدم
بعد میام ریپتر 2 رو هم از یه جدول دیگه میخونم و نمایش میدم
حالا
توی صفحه 2 ریپرتر فعالن

ظاهرش بی ریخته

میخوام وقتی یکی داره نمایش میده یکی دیگه بسته بشه

همین

mirahsani
دوشنبه 23 اردیبهشت 1392, 18:00 عصر
با این دستورات میتونید repeater را پس از استفاده محو کنید:


Visible="false";
یا
sqlDataSource.SelectCommand="";
Repeater.DataBind();

aliblue
دوشنبه 23 اردیبهشت 1392, 18:40 عصر
من فکر می کنم شما می خواهید کاربر با کلیک روی هر ریپیتر بتواند محتویات آن را نمایش دهد.این کار بسادگی با jquery قابل انجام است.

mjt10063
دوشنبه 23 اردیبهشت 1392, 18:45 عصر
بابا محتویات ریپرتر نمایش داده میشه
ولی میخوام بعد نمایش ریپرتر دیگه نمایش داده نشه

aliblue
دوشنبه 23 اردیبهشت 1392, 18:56 عصر
خوب یعنی چی بعد از نمایش دیگه نمایش داده نشه و محو بشه؟منظورت اینه که مثلا 10 ثانیه نمایش داده بشه بعد محو بشه؟

aliblue
دوشنبه 23 اردیبهشت 1392, 19:07 عصر
ریپیتر 2 کی نمایش داده میشه که بعد از اون ریپیتر 1 دیگه نمایش داده نشه؟
یعنی شما می خواهید که ریپیتر 1 نمایش داده بشه و کاربر اون رو ببینه.سپس وقتی ریپیتر 2 میخواد نمایان بشه قبلش ریپیتر 1 محو بشه؟

mjt10063
دوشنبه 23 اردیبهشت 1392, 19:08 عصر
منظورم رو که تو پست های بالا تر گفتم
(جای اون ده ثانیه) وقتی ریپرتر بعدی می خواد نمایش داده بشه
ریپرتر اولی که درحال نمایش محو بشه

دیگه نمیدونم چطوری بگم

aliblue
دوشنبه 23 اردیبهشت 1392, 19:13 عصر
خوب فرض کن من کاربرم و ریپیتر 1 رو دیدم،حالا چجوری بفهمونم که دیدم و میخوام بعدی رو ببینم؟
یا باید جایی کلیک کنم یا اتوماتیک بعد از چند ثانیه محو بشه و بعدی رو نشون بده.
درست میگم؟

mjt10063
دوشنبه 23 اردیبهشت 1392, 19:29 عصر
خوب ما دوتا باتن داریم برای نمایش هر ریپرتر
که هرکدومشون یه جور نشون میدن یعنی متفاوت و از جداول متفاوت

aliblue
دوشنبه 23 اردیبهشت 1392, 19:43 عصر
خوب من که گفتم:

من فکر می کنم شما می خواهید کاربر با کلیک روی هر ریپیتر بتواند محتویات آن را نمایش دهد.این کار بسادگی با jquery قابل انجام است.
ولی شما عصبانی شدی و گفتی:

بابا محتویات ریپرتر نمایش داده میشه
ولی میخوام بعد نمایش ریپرتر دیگه نمایش داده نشه
به نظر من اگه با jquery انجامش بدی خیلی بهتره چون هم سمت client و بدون رفرش انجام میشه،هم فقط محو میکنه نه پاک. بنابراین کاربر با کلیک مجدد میتونه نمایانش کنه.

mjt10063
دوشنبه 23 اردیبهشت 1392, 20:11 عصر
دوست عزیز من هیچ وقت عصبانی نشدم اتفاقا این جمله رو با خنده نوشتم
این فکر شما بود که به حالت عصبانیت خوندیش

درکل بگذریم میشه کد اینی که میگی رو بزاری ممنون میشم

aliblue
دوشنبه 23 اردیبهشت 1392, 20:45 عصر
میدونم منم به شوخی گفتم عصبانی شدی.
نمیدونم چقدر با jquery آشنایی داری من ساده میگم.اول باید کتابخانه شو دانلود کنی و اونو توی پوشه برنامه ت قرار بدی بعد با دستور زیر در بین head اضافه کنی.<script type="text/javascript" src="jquery-1.9.0.min.js"></script>
سپس کد های زیر را در جایی از صفحه وارد کن:
<script>
$(document).ready(function()
{


$("#btn1").click(function(){
$("#repeater2").hide();
$("#repeater1").show();
});
});
</script>

mjt10063
دوشنبه 23 اردیبهشت 1392, 21:12 عصر
زیاد با jquery آشنایی ندارم چون تازه asp رو شروع کردم میشه چند تا منبع خوب که واضح اموزش بده
(جی کوئری ) برام بزاری

در ضمن منظور از کتاب خونه چیه

aliblue
دوشنبه 23 اردیبهشت 1392, 21:28 عصر
کتاب خونه jquery فایلی هست که توابع jquery در آن تعریف شده و برای استفاده از آن باید از این آدرس دانلود کنی:
http://jquery.com/
برای یادگیری هم این بد نیست:
104148

isfahaniran
یک شنبه 05 خرداد 1392, 15:18 عصر
سطح:مبتدی زبان:C#
سلام من یک ریپیتر پیچ بندی شده دارم که چند سطر اول متن را نمایش میدهد و یک دکمه ادامه مطلب داره میخوام وقتی کاربر روی ادامه مطلب کلیک کرد
اون سطر ریپیتر به اندازه کل متن بزرگ شود و کاربر کل مطلب را ببیند.وقتی روی ادامه مطلب سطر بعدی کلیک کرد سطری که قبلا بزرگ شده بود به اندازه اول برگردد
و سطر فعلی برای نمایش متن بزرگ شود.(با گسترش یک سطر ریپیتر سطر گسترش یافته قبلی جمع(بسته)شود.) در حال حاضر سطرهای ریپتر با کلیک ادامه مطلب گسترش میابند اما سطرهایی که قبلا گسترش یافته اند همچنان گسترش یافته باقی میمانند لطفا راهنمایی کنید چطور در یک لحظه فقط یک سطر گسترش یافته داشته باشم؟