PDA

View Full Version : شرطی کردن dropdownlist



golrokh
پنج شنبه 25 مهر 1387, 14:53 عصر
من چند تا dropdownlist دارم. میخوام توی اولین dropdownlist یک شرط بذارم که با انتخاب اولین ایتم یکسری از ایتم های سایر dropdownlist های من فعال بشه و با انتخاب دومین ایتم اولین dropdownlist یکسری ایتم های دیگه سایر dropdownlist هام فعال بشوند.
ممنون میشم اگه منو رو راهنمایی کنید.

kiosksoft
پنج شنبه 25 مهر 1387, 15:05 عصر
دوست عزیز اول میتونی به این لینک بری و تابع پر کردن این کنترل رو برداری .

http://barnamenevis.org/forum/showthread.php?t=126978

کنترل اول باید خاصیت autopostback آن true باشد .

در رویداد SelectedIndexChanged کد پر کردن کنترل دوم رو بر اساس کنترل اول پر کن .

اگه متوجه نشدی بگو مثالش رو برات بزارم.

svm-webmaster
پنج شنبه 25 مهر 1387, 15:35 عصر
من هم همین کار را قبلا انجام داده اند اما ایرادی که معمولا مشتریان به این نوع کار کردن می گیرند این است : " صفحه مرتبا رفرش می شود ". این کار در صفحاتی که فرم های طولانی و سنگین دارد زیاد جالب و مناسب به نظر نمی رسد، اگر چه از لحاظ فنی مشکلی ندارد و قابل اجراست.
اگر شما به جای کنترل های asp سمت سرور از کنترل های سمت کلینت (html) استفاده کنید و به جای کد نویسی سمت سرور از کد های سمت کلاینت ( مثل جاوا اسکریپت ) استفاده کنید ، کاربرتان راحت تر با صفحات و dropdownlist ها کار خواهد کرد. در انتهای فرم دکمه ثبت فرم خود را سمت سرور قرار دهید و با کد نویسی سمت سرور مقدارهای سمت کلاینت خود را بخوانید. ( البته کنترل های html معمولی را که نیاز به خوندن آنها در سمت سرور دارید، ابتدا runat=server کنید )

kiosksoft
پنج شنبه 25 مهر 1387, 15:52 عصر
من هم همین کار را قبلا انجام داده اند اما ایرادی که معمولا مشتریان به این نوع کار کردن می گیرند این است : " صفحه مرتبا رفرش می شود ". این کار در صفحاتی که فرم های طولانی و سنگین دارد زیاد جالب و مناسب به نظر نمی رسد، اگر چه از لحاظ فنی مشکلی ندارد و قابل اجراست.
اگر شما به جای کنترل های asp سمت سرور از کنترل های سمت کلینت (html) استفاده کنید و به جای کد نویسی سمت سرور از کد های سمت کلاینت ( مثل جاوا اسکریپت ) استفاده کنید ، کاربرتان راحت تر با صفحات و dropdownlist ها کار خواهد کرد. در انتهای فرم دکمه ثبت فرم خود را سمت سرور قرار دهید و با کد نویسی سمت سرور مقدارهای سمت کلاینت خود را بخوانید. ( البته کنترل های html معمولی را که نیاز به خوندن آنها در سمت سرور دارید، ابتدا runat=server کنید )

دوست عزیز update panel در آجاکس این مشکل رو حل کرده .

svm-webmaster
پنج شنبه 25 مهر 1387, 16:02 عصر
ممنون می شم اگه توضیح بدهید چطوری. من با آجاکس کار نکردم و اگر در اجاکس این کار ساده تر و روان تر شده است خوب استفاده از آن منطقی تر به نظر می رسد.
اگر بشود یک مثال کوچک با 2 تا dropdownlist هم قرار دهید تا قابل فهم تر شود ممنون خواهم شد.
با تشکر

kiosksoft
پنج شنبه 25 مهر 1387, 16:23 عصر
دوست عزیز این هم مثال :
http://barnamenevis.org/forum/showthread.php?p=615368&posted=1#post615368

golrokh
پنج شنبه 25 مهر 1387, 18:50 عصر
دوست عزیز اول میتونی به این لینک بری و تابع پر کردن این کنترل رو برداری .

http://barnamenevis.org/forum/showthread.php?t=126978

کنترل اول باید خاصیت autopostback آن true باشد .

در رویداد SelectedIndexChanged کد پر کردن کنترل دوم رو بر اساس کنترل اول پر کن .

اگه متوجه نشدی بگو مثالش رو برات بزارم.

خیلی ممنون از اینکه پاسخ دادید. من تازه کار هستم و دارم با web developer کار میکنم. با آجاکس هم آشنایی ندارم و نمیدونم چطوری باید ازش استفاده کنم. اگر لطف کنید و یه مثال کامل برای من بذارید بی نهایت ممنون میشم.

svm-webmaster
پنج شنبه 25 مهر 1387, 19:49 عصر
خوب دوست خوبم یه نگاه به لینکی که دوستمان و همکارمان asp.net.csharp.ir در پاسخ شماره 6 قرار داده اند بیندازید. برای من راهنمایی خوبی بود. امیدوارم برای شما هم موثر باشد.