PDA

View Full Version : اجرای کد js با کنترل های asp.net مخصوصا (treeview)



shahab2005
چهارشنبه 03 شهریور 1389, 16:12 عصر
سلام
من یه تابع جاوااسکریپت نوشتم که مثلا div سمت چپ و راست صفحه رو هم اندازه می کنه.


<script language="JavaScript">
function SetHeight() { document.getElementById("Left").style.height = document.getElementById("Right").offsetHeight + "px"; }
</script>

وقتی با یه input button کد js رو اجرا می کنه کار می کنه
ولی می خوام تغییر سایز div هم زمانی که گره های Treeview را باز می کنم تغییر کنه.
یا از یه نظر دیگه وقتی treeview باز می شه div سمت راست ارتفاعش زیاد می شه می خوام همزمان div سمت چپ هم تغییر کنه.
امتحان کردنش 3 دقیقه هم طول نمی کشه، لطفا مثلا نگید تو رویداد OnTreeNodeExpanded تابع جاوا رو فراخونی کن، که امتحان کردم و نشد.

اصلا میشه با کنترل asp.net جاوا اسکریپت رو فراخونی کرد؟

تشکر

milade
چهارشنبه 03 شهریور 1389, 16:23 عصر
امتحان کردنش 3 دقیقه هم طول نمی کشه
میشه کد رو بزاری ؟
وقت تست ندارم ...

shahab2005
چهارشنبه 03 شهریور 1389, 16:47 عصر
اینم یه صفحه aspx برای تست کردن کد

milade
چهارشنبه 03 شهریور 1389, 16:58 عصر
این پاسخ من تست شده نیستو دارم از روی تجربه و .. میگم !
من یکی از نودها رو تغییر دادم به صورت :

<asp:TreeNode Class="nodx" Text="Tree Node" Value="Tree Node"></asp:TreeNode>
یعنی یه کلاس بهش ادد کردم .
حالا در Jquery :


$(".nodx").mouseenter(function(){
//Put your code here ...
//document.getElementById("Left").style.height = document.getElementById("Right").offsetHeight + "px";
});



در حین وارد شدن موس اتفاق میافته که اگه کد دردست کار کنه شما میتونید به حالت Click و ... تغییرش بدید !

shahab2005
چهارشنبه 03 شهریور 1389, 17:15 عصر
با jquery1.4 تست کردم و نشد
البته کلاس در سطح بالاتر درخت تعریف می شه و ...
کد رو روی باتن و ... هم تست کرده با رویدادهای مختلف جواب نداد
مرسی

دوستان هر وقت هرکی جواب رو پیدا کرد بگه، خجالت نکشه :خجالت:

milade
چهارشنبه 03 شهریور 1389, 17:34 عصر
شما کدم رو همین صلواتی گزاشتید ؟ :D
اخه هم کامنت هست هم موقعیت نگرفته :

$(function(){
$(".Tip").mouseenter(function(){
alert('hi');
//Put your code here ...
//document.getElementById("Left").style.height = document.getElementById("Right").offsetHeight + "px";
});
});

این کد باید جواب بده !

shahab2005
چهارشنبه 03 شهریور 1389, 17:57 عصر
دستت درد نکنه جواب داد. :تشویق:
ولی با توجه به اون کدی که ضمیمه کردم تابع جاوا اسکریپت من یه مرحله دیرتر ارتفاع رو حساب می کنه که انشاا... درستش میکنم.

حالا که از jquery استفاده کردیم یه سوال کوچیک بپرسم.
این راسته که میگن jquery در اولین لود روی کامپیوتر کاربر کپی میشه؟ کجا؟ و یعنی دیگه 60 - 70 کیلو هربار استفاده نمیشه؟
اگه جواب منفی هست، استفاده از کش همین کار رو می کنه.
اگه یه راه بهینه هم بگید که خیلی خوبه.

milade
چهارشنبه 03 شهریور 1389, 18:10 عصر
دستت درد نکنه جواب داد.
خب خوشحالم ;)

ولی با توجه به اون کدی که ضمیمه کردم تابع جاوا اسکریپت من یه مرحله دیرتر ارتفاع رو حساب می کنه که انشاا... درستش میکنم.
در رویدادهایی مثل mouseover و ... چک کنید .
این کد من مثالی بیش نبود ...

این راسته که میگن jquery در اولین لود روی کامپیوتر کاربر کپی میشه؟ کجا؟ و یعنی دیگه 60 - 70 کیلو هربار استفاده نمیشه؟
بله !
در مرورگیری مثل IE در Temporary Internet Files ولی مرورگری مثل Opera و ... در فولدرهای کش خودشون ..
در لود اول ذخیره میشه و تا مدتی معین ماندگار هست مگر اینکه قدیمی بشه و حذف بشه ...

البته اگر برنامه نویس کش مرورگر رو از کار بیندازه به طبع چیزی هم کش نمیشه .

روز خوش .