PDA

View Full Version : شمارنده



ssmehizadeh
پنج شنبه 11 خرداد 1391, 10:16 صبح
با سلام

یه مشکل داشتم و از شما رهنمایی می خوام
در یه سایت که آزمون online می باشد می خواهیم زمان باقیمانده برعکس شمارش شود مثلا از 100 به طرف صفر حرکت کند
چه طوری این کار رو انجام بدیم
آیا مشکل با جاوا حل میشه یا باید با آژاکس کار کنم
ممنون راهنمایی کنید

mohsen.nsb44
پنج شنبه 11 خرداد 1391, 11:04 صبح
میتونی از update panel و تایمر ajax استفاده بکنی که یک تابعی رو بنویسی که هر 1 ثانیه اون تابع اجرا بشه
داخل تابع هم کد مورد نظرت رو بنویس که از عدد 100 شروع و یک واحد ازش کم میشهبه ازای هر بار اجرا یک واحد از ان عدد کم خواهد شد

mohsen.nsb44
پنج شنبه 11 خرداد 1391, 11:23 صبح
روش کار رو خدمتتون میگم قبل هر چیزی باید یک ScriptManager در صفحه قرار بدین
بعد یک updatepanel که درون این کنترل یک کنترل لیبیل و یک کنترل تایمر بزارین
سورس تایرمر رو به صورت زیر تغییر بدین


<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
</asp:Timer>


کد زیر را در کد پشتی بنویسید


protected void Timer1_Tick(object sender, EventArgs e)
{

refresh();

}


protected void refresh()
{
if (counter <= 0)
{

}
else
{

counter =counter- 1;
Label1.Text = counter.ToString();
counter = int.Parse(Label1.Text);


}
}
بالای صفحه هم یک متغیر به صورت زیر تعریف کنید
static int counter = 100;

ssmehizadeh
پنج شنبه 11 خرداد 1391, 12:03 عصر
ممنون از جوابتون
ولی مشکل اینجاست که نمی خوام برای نشون دادن زمان باقیمانده صفحه post back بشه

mohsen.nsb44
پنج شنبه 11 خرداد 1391, 13:16 عصر
زمانی که از updatepanel استفاده میکنید postpack اتفاق نمیوفته(postBack اتفاق میوفته اما از دید کاربر مخفی هستش و احساس میشه که postBack اتفاق نیوفتاده )

ssmehizadeh
جمعه 12 خرداد 1391, 21:39 عصر
شرمنده زیاد سوال می کنم
ولی این کد شما داره در طرف client اجرا میشه یا در طرف server
من میخوام کد حتما در طرف client اجرا بشه که در مواقعی که سرعت کمه برا شمارنده مشکلی پیش نیاد

kingmech
شنبه 13 خرداد 1391, 17:05 عصر
بهتر که شما یه زمان مشخصی رو در دیتابیستون در نظر بگیرید

بعد شمارش رو از طریق جاوا یا jquery انجام بدید و سر زمان مشخص ازمون تموم بشه و دیگه امکان ثبت نباشه نه اینکه بخوایم وقتی تایمیر رسید به صفر این اتفاق بیوفته

ssmehizadeh
دوشنبه 15 خرداد 1391, 11:22 صبح
آخه آزمون جوریه که هر فرد باید در زمان مشخص شده وارد سایت بشه و تا لحظه مشخص شده بتونه در سایت بمونه و جواب بده

ممنون راهنمایی کنید و راه حلی پیشنهاد بدین

ironclip
دوشنبه 15 خرداد 1391, 12:27 عصر
سلام
این سوال منم بود در اینجا http://barnamenevis.org/showthread.php?344557

ممنون ازتون بابت بحث و گفتگو در این رابطه
فقط من الان یه مشکلی دارم
من می خوام خودم بگم از چه مقداری شروع برای شمارنده کنه
الان اینجا مقدار کانتر را 100 گزاشتید ، می خوام این مقدار رو خودم در نظر بگیرم
چطوراین کارو بکنم

ironclip
دوشنبه 15 خرداد 1391, 12:55 عصر
یه مشکل بزرگ داره این شمارنده
این برای کل کاربر یک مقدار برمیگردونه

مثلا من یه سوال رو باز میکنم شروع میکنه به شمارش ( مثلا اینجا 25 باشه )
بعد با یه مرورگر دیگه امتحان کردم اونم از اونجای که داره میشماره شمارش میکنه ( اینجا از 28 شروع میشه )

برای همه از یه کانتر استفاده میشه
نمیشه از سیشن استفاده کرد برای کانتر ؟ که هر کاربر سیسشن خودشو داره

یا سیشن یا کش ...

ironclip
دوشنبه 15 خرداد 1391, 15:21 عصر
برای حل این موضوع یه روش پیدا کردم
برای پیگیری این موضوع به این صفحه رجوع کنید : http://barnamenevis.org/showthread.php?344584