PDA

View Full Version : سوال: مشکل auto postback کنترل dropdownlist



mmojbo
چهارشنبه 10 خرداد 1391, 20:46 عصر
با سلام به دوستان

من در یک فرم یه کنترل dropdownlist دارم که آن را با خروجی sqldatasource پر کردم و حاوی جایگاه های (A - B- C) هست و یک listbox هم دارم که قرار ظرفیت باقیمانده اون جایگاه رو نشون بده

حالا اگه auto postback کنترل dropdownlist رو false کنم با تغییر جایگاه ، مقدار listbox بروز نمیشه و اگه true کنم
بقیه فیلد های فرم که با مقادیر خاص دیگه پر شدن دوباره پر میشن!!!!!

میخواستم ببنم روشی هست که هم مقدار listbox رو با تغییر dropdownlist تغییر بده و هم نیاز به auto postback نداشته باشه ؟

ممنون میشم دوستان راهنمایی کنن.

ahmad156
چهارشنبه 10 خرداد 1391, 20:50 عصر
دوست عزیز با JQuery میشه اینکار رو انجام داد ولی یه خرده سخت میشه!!!
شما با کد زیر مقدار انتخاب شده در DropDownList رو بدست میارین

$('#yourSelectId').change(function() {
var selectedVal = $('#yourSelectId option:selected').attr('value');
});


سپس شما باید با استفاده از تابع ajax.$ تابعی رو که خاصیت WebMethod داره یا تابعی از WebService رو فراخونی کنین که همون کاری رو انجام میده که شما میخواین(اعمال تغییر در listbox)

imanasp
پنج شنبه 11 خرداد 1391, 08:07 صبح
میخواستم ببنم روشی هست که هم مقدار listbox رو با تغییر dropdownlist تغییر بده و هم نیاز به auto postback نداشته باشه ؟


میتونی listbox رو توی یک UpdatePanel بذاری تا صفحه postBack نشه و اطلاعات بعد چند ثانیه در داخل لیست باکست لود بشه راجع به دوباره پر شدن مقادیر فکر می کنم سلکتی که نوشتی اشتباه باشه

mmojbo
پنج شنبه 11 خرداد 1391, 10:28 صبح
سلام imanasp عزیز
ممنونم از راهنماییت

این کدی که من در sql datasource نوشتم که خروجیشو در listbox میخوام نشون بدم :

SELECT state_postion.num, mobo_hall_position.count_position, mobo_hall_position.count_position - state_postion.num AS c1
FROM state_postion INNER JOIN mobo_hall_position ON state_postion.hall_ID = mobo_hall_position.hall_ID AND state_postion.position = mobo_hall_position.position
WHERE (state_postion.runtime_ID = @runtime_id) AND (state_postion.hall_ID = @hall_id) AND (state_postion.position = @postion) AND (state_postion.time = @time)


ممنون میشم راهنماییم کنی ( اگه میشه یه نمونه مثال هم بزن )

imanasp
پنج شنبه 11 خرداد 1391, 10:33 صبح
سلام imanasp عزیز
ممنونم از راهنماییت

این کدی که من در sql datasource نوشتم که خروجیشو در listbox میخوام نشون بدم :

SELECT state_postion.num, mobo_hall_position.count_position, mobo_hall_position.count_position - state_postion.num AS c1
FROM state_postion INNER JOIN mobo_hall_position ON state_postion.hall_ID = mobo_hall_position.hall_ID AND state_postion.position = mobo_hall_position.position
WHERE (state_postion.runtime_ID = @runtime_id) AND (state_postion.hall_ID = @hall_id) AND (state_postion.position = @postion) AND (state_postion.time = @time)


ممنون میشم راهنماییم کنی
بعد Select یک Distinct بزار

mmojbo
پنج شنبه 11 خرداد 1391, 21:08 عصر
imanasp عزیز
میشه برای update panel یه نمونه کد بزاری

ممنون

Variable
سه شنبه 16 خرداد 1391, 14:25 عصر
سلام منم همین مشکل رو داشتم
این برمیگرده یه خاصیت اوتو پست بک . یعنی هر بار که رخ میده . تابع پیج لود فراخونی میشه . و اگه تو این تابع دراپ دانتو پر کنی. هی به دراپ دان مقدار اضافه میشه با هر بار تغییر


protected void Page_Load(object sender, EventArgs e)
{
if (!(IsPostBack))
{
createDropOstan(null, null);
return;

}
}