PDA

View Full Version : تغییر متن label بعد از 10 ثانیه درفایل aspxبا jquery



FirstLine
دوشنبه 17 اسفند 1388, 14:31 عصر
با سلام
یک لیبل روی صفحه وب دارم
چجوری میشود یک متن را توسط jquery ب10 ثانیه بعد از لوود شدن صفحه جایگزین متن لیبل کرد؟
با تشکر

mehdi.mousavi
دوشنبه 17 اسفند 1388, 14:41 عصر
با سلام یک لیبل روی صفحه وب دارم چجوری میشود یک متن را توسط jquery ب10 ثانیه بعد از لوود شدن صفحه جایگزین متن لیبل کرد؟ با تشکر

سلام.
بسادگی. ابتدا تو فایل ASPX خودتون، (توی Head Section صفحه)، این تابع رو بنویسید:


<script type="text/javascript">
$(function() {
setTimeout(function() {
$('#<%=WhateverLabel.ClientID%>').html('whatever text that suits your needs!');
}, 10000);
});
</script>

این کد چی داره میگه؟ داره میگه توی ready handler، یه timer راه بنداز که بعد از 10 ثانیه، tick بخوره. وقتی 10 ثانیه سپری شد، برو کنترل ASP.NET ای اسمش رو سمت سرور WhateverLabel گذاشتم رو بگیر، و محتواش رو به whatever text that suits your needs! تغییر بده!

موفق باشید.

FirstLine
سه شنبه 18 اسفند 1388, 08:14 صبح
با سلام
از راهنمایی شما بسیار سپاسگزارم.
یه سوال دیگه، اگه بخوام بعد از یه زمان 15 ثانیه ای یک تابع سرور ساید اجرا بشود این کد را چجوری تغییر دهم؟
من میخوام بعد از 20 ثانیه یک webusercontrol را در یک placeholder اضافه کنم.
با تشکر

mehdi.mousavi
سه شنبه 18 اسفند 1388, 12:05 عصر
با سلام از راهنمایی شما بسیار سپاسگزارم.
یه سوال دیگه، اگه بخوام بعد از یه زمان 15 ثانیه ای یک تابع سرور ساید اجرا بشود این کد را چجوری تغییر دهم؟ من میخوام بعد از 20 ثانیه یک webusercontrol را در یک placeholder اضافه کنم. با تشکر

سلام.
برای اینکار میتونید یک Button سمت Server ایجاد کنید و CssClass اونو hidden بذارید (و پر واضحه که hidden رو چطور باید تعریف کنید تا دکمه دیده نشه!). فرض کنید نام این دکمه رو btnLoadControl میذاریم. برای این کنترل، Click Handler ای تعریف میکنیم و سمت سرور، کد مورد نظر برای Load کردن User Control و افزودن اونو به PlaceHolder می نویسیم.

سپس سمت Client، با استفاده از setTimeout یک تایمر 20 ثانیه ای ایجاد میکنیم، و توی handler این timer (که بهنگام expire شدن timer، تیک خواهد خورد)، با استفاده از jQuery، کلید مخفی مزبور رو پیدا میکنیم و click رو فراخوانی میکنیم:

$('#<%=btnLoadControl.ClientID%>').click();

بدین ترتیب، تابع btnLoadControl_Click سمت سرور فراخوانی میشه و شما به هدفتون میرسید. البته فرض کردم که کنترلها رو خودتون در UpdatePanel قرار داده اید...

موفق باشید.