PDA

View Full Version : سوال: فوری:چطوری میشه تابع جاوا اسکریپت رو پس از postback صفحه اجرا کرد؟



behzad1367
یک شنبه 03 مهر 1390, 08:47 صبح
سلام.من تو برنامه asp.net برای تکست باکس های داخل GridView دو نوع رویداد keyup تعریف کردم.یکی با Jquery و یکی در Code Behind.وظیفه رویداد keyup که در Code Behind ای اس پی تعریف کردم اینه که وقتی روی هر کدوم از تکست باکس های Gridview کلیدی فشرده میشه یه سطر خالی به انتهای Gridview اضافه میکنه و وظیفه رویداد keyup که با Jquery k نوشتم اینه که وقتی روی همون تکست باکس ها کلیدی فشرده میشه مجموع اون ستون های گرید ویو را داخل یه تکست باکس میریزه.


اما مشکلی که من دارم تداخل این 2 رویداد با هم هست.یعنی وقتی که رویداد keyup بخش code behind اجرا میشه به خاطر اینکه سمت سرور هست صفحه پست بک میشه و عملا تابع keyup که با چی کویری نوشتم و وظیفش جمع ستون های گرید ویو هست عمل نمیکنه!

دوستان کسی میتونه راهنمایی کنه واسه حل این مشکل باید چی کار کنم؟؟

nadi_1368
یک شنبه 03 مهر 1390, 09:44 صبح
سلام امیدوارم درست فهمیده باشم
2 راه داری
1:برای تکس بکس آخر 1 شرط بزاری که هنگام keyup فقط کد jquery اجرا بشه و post انجام نشه
2:هر 2کار را با jquery انجام بده.

behzad1367
یک شنبه 03 مهر 1390, 13:25 عصر
سلام امیدوارم درست فهمیده باشم
2 راه داری
1:برای تکس بکس آخر 1 شرط بزاری که هنگام keyup فقط کد jquery اجرا بشه و post انجام نشه
2:هر 2کار را با jquery انجام بده.

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

اما در مورد راه اولت به نظر جواب نمیده چون:
اتفاقا من میخام اگه روی هر تکست باکسی keyup انجام گرفت تابع Code Behind اجرا بشه و یه سطر به گرید ویو اضافه بشه اما با روشی که شما میگی اگه روی تکست باکس آخر کلیدی فشرده بشه دیگه سطری به گرید ویو اضافه نمیشه!
لطفا دوستان اگه راه کاری دارن بگن

nadi_1368
یک شنبه 03 مهر 1390, 13:43 عصر
نظرتون در مورد ajax چیه؟
اینجوری صفحه رفرش نمیشه

behzad1367
یک شنبه 03 مهر 1390, 14:15 عصر
ممنون که حداقل زحمت میکشید کمک میکنید.خودمم نظرم این هست که احتمالا بشه با آزاکس البته آژاکس بدون استفاده از Update Panel کاری رو انجام داد.اما در استفاده این روش مشکل دارم.
اگه دوستان بلدن با این روش کار کنن که همین رو توضیح بدن وگرنه بریم سراغ روش دیگه ای.مرسی

nadi_1368
یک شنبه 03 مهر 1390, 16:52 عصر
متاسفانه asp بلد نیستم
یه سر به سایت
http://www.w3schools.com/asp/default.asp
بزنید
ایشالا که به کارتون بیاد

behzad1367
یک شنبه 03 مهر 1390, 17:31 عصر
ممنون اما به کارم نیومد.
آی مسلمونا یکی نیست بلد باشه چطور میشه تابع جاوا اسکریپت رو بعد از page load اجرا کرد؟

nadi_1368
یک شنبه 03 مهر 1390, 19:10 عصر
سلام خوب تو رویداد onloud صفحه تابع رو صدا بزن.

behzad1367
یک شنبه 03 مهر 1390, 19:39 عصر
سلام خوب تو رویداد onloud صفحه تابع رو صدا بزن.
:تشویق: دست گلت درد نکنه! خب خانوم مگه فقط رویداد keyup باعث postback شدن صفحه میشه؟ 10 ها چیز رویداد میتونن باعث Postback صفحه بشن که در این صورت در هر بار تابعی که توی onload گذاشتم اجرا میشه!

اما بازم دستت درد نکنه که جواب میدی.مرسی

behzad1367
دوشنبه 04 مهر 1390, 11:36 صبح
دوستان راه حلی ندارن؟؟

mahdisky
سه شنبه 13 خرداد 1393, 13:45 عصر
سلام
امیدوارم که یه دردت بخوره.




<script type="text/javascript">
$(document).ready(function() {
$('#<%=GridView1.ClientID %>').colorize();
});

اینارو اضافه میکنی// function pageLoad(sender, args) {
اینارو اضافه میکنی // if (args.get_isPartialLoad()) {
اینجا هم که هر کدی داشتیو میزاری // $('#<%=GridView1.ClientID %>').colorize();
}
}
</script>