View Full Version : سوال: لود از دیتا بیس در کمبوباکس با تغییر کمبو دیگر بدون رفرش
moslem.hady
پنج شنبه 31 شهریور 1390, 11:43 صبح
سلام دوستان. عجیبه که من هرچی در این مورد جستجو میکنم چیزی پیدا نمیکنم! :-(
چه فارسی چه انگلیسی.
میخوام محتویات یه کمبوباکسم بر اساس کمبو دیگه عوض بشه. هر دو از دیتابیس لود میکنن.
من توی SelectedIndexChanged کمبو اول دیتا رو از دیتابیس میگیرم و به دومی میدم ولی این باعث رفرش میشه. توی آپدیت پنل هم گذاشتم ولی طول میکشه.
ممنون میشم راهنمایی کنید.
موفق باشید
fakhravari
پنج شنبه 31 شهریور 1390, 15:28 عصر
با سلام
از نمونه زیر استفاده کن
moslem.hady
پنج شنبه 31 شهریور 1390, 23:11 عصر
عزیزم این که رفرش میکنه!!! فقط آپدیت پنل میخواد!!
من مثل این نمونه میخوام.
ولی تو این نمونه آیدی ها رو توی کمبو ها نداره. و برای کمبو یا همون dropdownlist خود asp میخوام
مرسی
moslem.hady
جمعه 01 مهر 1390, 11:57 صبح
دوستان اگر راه حلی دارن راهنمایی کنن. :لبخندساده:
moslem.hady
جمعه 01 مهر 1390, 17:36 عصر
هنوز سوالم پا برجاست!!
fakhravari
جمعه 01 مهر 1390, 18:53 عصر
سلام
با ابدیت ینل میشه اینکارو کرد
if (DropDownList1.Text == "آذربایجان شرقی")
{
DropDownList2.Items.Clear();
DropDownList2.Items.Add("هشترود");
DropDownList2.Items.Add("هریس");
}
if (DropDownList1.Text == "اصفهان")
{
DropDownList2.Items.Clear();
DropDownList2.Items.Add("نطنز");
DropDownList2.Items.Add("نجفآباد");
}
به صورت جاوا نمودونم .
fan2005
جمعه 01 مهر 1390, 20:05 عصر
هر دو dropdownlist را تو یه update panel بگذار و ویژگی autopostbak مربوط به ddl را برابر true بگذار , تو event selectedindexchange اولی dropdownlist دومی را لود کن
محمد متاله
جمعه 01 مهر 1390, 21:07 عصر
عزیزم این که رفرش میکنه!!! فقط آپدیت پنل میخواد!!
من مثل این نمونه میخوام.
ولی تو این نمونه آیدی ها رو توی کمبو ها نداره. و برای کمبو یا همون dropdownlist خود asp میخوام
مرسی
این برنامه ای که اینجا گذاشته اید به خاطر اینکه فقط با جاوا اسکریپت نوشته شده و درخواست کاربر را به سرور ارسال نمی کنه مشکلی نداره اما شما می خواهید اطلاعات را بنا درخواست کاربر از سرور دریافت کنید
فایلتان را اگر گذاشته بودید بهتر می شد کمک تان کنیم""" اما بنده فکر می کنم در event مربوط به page_Load دراپ داون لیست اولتان را پر می کنید""" خوب مسلما پس از تغییر در ایندکس دراپ داون لیست دوم این event دوباره اجرا می شود و دوباره مقادیر را از DB می خواهند و دوباره در Drop Down List اول قرار می دهد حتی اگر از UpdatePanel هم استفاده کرده باشید
برای اینکه درست کار کند باید در شرط زیر دراپ داون لیست اول را پر کنید
if (!IsPostBack)
{
// کدهای مربوط به بارگزاری اطلاعات در دراپ داون لیست اولتان
}
moslem.hady
شنبه 02 مهر 1390, 17:22 عصر
دوستان من نمیخوام از آپدیت پنل استفاده کنم
این نمونه کاریه که من میخوام انجام بدم
من توی خیلی سایت ها هم دیدم که این کار رو با جاوا کردن.
برای مثال توی کد یه سایت یه همچین چیزی دیدم:
<script language="javascript">
var TopCode=new Array();
var Code=new Array();
var Name=new Array();
TopCode[0]='9';Code[0]='92';Name[0]='دست دوم ايرانی';TopCode[1]='280';Code[1]='313';Name[1]='لوازم يدكي';TopCode[2]='20';Code[2]='23';Name[2]='كامپيوتر';TopCode[3]='20';Code[3]='24';Name[3]='زبان';
function ShowSub(obj1,obj2){
while(obj2.length>0) {obj2.options[0] = null;}
obj2.options[0] = new Option('','',false,false);
j=0;
for(i=0;i<Code.length;i++){
if(TopCode[i]==obj1.value){
j++;
obj2.options[j] = new Option(Name[i],Code[i],false,false);
}
}
}
</script>
<select onchange='ShowSub(this,document.form.cid)' dir="rtl" size="1" name="gid"
style="width: 150">
<option></option>
<option value="14">كامپيوتر</option>
<option value="20">آموزش</option>
<option value="2">املاک</option>
<option value="9">اتومبيل</option>
<option value="280">لوازم</option>
<option value="281">خدمات</option>
<option value="11">بازار كار</option>
<option value="349">صنعت</option>
<option value="16">ارتباط</option>
<option value="351">چاپ و تبلیغات</option>
<option value="352">خدمات مسافرتی </option>
</select>
<br />
<select dir="rtl" size="1" name="cid" style="width: 150">
</select>
نمیدونم چطوری با این کد کار کنم. اصلا شاید ناقص باشه. از توسورس صفحه در آوردم
توی کدی که تو پاسخ شماره 3 (http://barnamenevis.org/showthread.php?306166-%D9%84%D9%88%D8%AF-%D8%A7%D8%B2-%D8%AF%DB%8C%D8%AA%D8%A7-%D8%A8%DB%8C%D8%B3-%D8%AF%D8%B1-%DA%A9%D9%85%D8%A8%D9%88%D8%A8%D8%A7%DA%A9%D8%B3-%D8%A8%D8%A7-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%DA%A9%D9%85%D8%A8%D9%88-%D8%AF%DB%8C%DA%AF%D8%B1-%D8%A8%D8%AF%D9%88%D9%86-%D8%B1%D9%81%D8%B1%D8%B4&p=1343758&viewfull=1#post1343758) گذاشتم مقدار value برابر با آیدی نمیشه اما توی این مثال میشه.
moslem.hady
یک شنبه 03 مهر 1390, 12:39 عصر
:متفکر: همچنان منتظر
mahdioo12194
یک شنبه 03 مهر 1390, 12:45 عصر
فکر کنم با جاوا اسکریپت میشه اما برای داده های استاتیک نه برای شما که می خواهید از پایگاه داده به صورت دینامیک لود کنید! اگه اشتباه می کنم بگید!
حالا چرا از آپدیت پنل استفاده نمی کنی؟
A.S.Roma
یک شنبه 03 مهر 1390, 12:55 عصر
بایستی مستقیما" از Ajax استفاده کنید.
در مورد
XMLHttpRequest (http://en.wikipedia.org/wiki/XMLHttpRequest)
جستجو کنید.
»» ضمنا" JQuery هم توابع شسته رفته ای برای این امر در نظر گرفته مثل
$.ajax
moslem.hady
یک شنبه 03 مهر 1390, 18:58 عصر
فکر کنم با جاوا اسکریپت میشه اما برای داده های استاتیک نه برای شما که می خواهید از پایگاه داده به صورت دینامیک لود کنید! اگه اشتباه می کنم بگید!
من که توی دو تا از پست های همین موضوع دونوع استفاده از جاوااسکریپت رو گفتم. که دومی ناقص بود. اگه کسی درستشو بگه شاید بتونم یه کاریش بکنم.
حالا چرا از آپدیت پنل استفاده نمی کنی؟
بخاطر اینکه وقتی رو هاست میذارم با تغییر کمبوباکس اول خیلی طول میکشه تا دومی لود بشه :-(
moslem.hady
یک شنبه 17 مهر 1390, 19:55 عصر
دوستان گرامی همچنان نیاز ب کمک دارم
st6870
جمعه 11 مرداد 1392, 18:43 عصر
دوستان گرامی همچنان نیاز ب کمک دارم
الهی الهی الهی
بابا یکی جواب دوستمونو بده..........................
حیف که من بلد نیستم وگرنه..........
aslan
جمعه 11 مرداد 1392, 19:35 عصر
سلام
لینک زیر را ببینید :
http://www.aspsnippets.com/Articles/AJAX-Cascading-DropDownList-using-jQuery-in-ASP.Net.aspx
aslan
جمعه 11 مرداد 1392, 20:08 عصر
و همجنین لینک زیر را :
http://www.aspdotnet-suresh.com/2012/07/how-to-bind-dropdownlist-in-aspnet.html
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.