Таймер CountDown и постоянно обновляющая метка - PullRequest
0 голосов
/ 10 февраля 2012

Я делаю аукционный сайт Мне нужна помощь в создании таймера обратного отсчета, когда по истечении времени статус продукта изменится на закрытый Я просто сравниваю разницу в дате.

$ if (! IsPostBack) { SqlDataReader dtrProduct, dtrMinus;

         conFindPID = new SqlConnection(strCon);
         conFindPID.Open();
         string conStr = "SELECT * FROM Product WHERE ProductID=@PID";
         SqlCommand cmdCheck = new SqlCommand(conStr, conFindPID);
         dtrProduct = cmdCheck.ExecuteReader();
         if (DateTime.Today >= Convert.ToDateTime(dtrProduct["EndingDate"]))
         {
             if (dtrProduct["Status"] == "Open")
             {
                 conFindPID = new SqlConnection(strCon);

                 string conupdate = "UPDATE PRODUCT SET Status=@PS";


                 SqlCommand cmdupdate = new SqlCommand(conupdate, conFindPID);
                 cmdupdate.Parameters.AddWithValue("@PS", "Closing");
                 cmdupdate.ExecuteNonQuery();
                 string conMinus = "SELECT c.*,p.* FROM Customer c,Product p WHERE c.UserID=p.UserID";
                 SqlCommand cmdMinus = new SqlCommand(conMinus, conFindPID);
                 dtrMinus = cmdMinus.ExecuteReader();
                 if (Convert.ToInt32(dtrMinus["Token"]) < Convert.ToInt32(dtrMinus["CurrentBid"]))
                 {


                 }
                 else
                 {
                     int a = Convert.ToInt32(dtrMinus["Token"]) - Convert.ToInt32(dtrMinus["CurrentBid"]);
                     conFindPID = new SqlConnection(strCon);

                     string conComplete = "UPDATE Customer SET Token=@Token";
                     SqlCommand cmdcomplete = new SqlCommand(conComplete, conFindPID);
                     cmdcomplete.Parameters.AddWithValue("@Token", a);
                     cmdcomplete.ExecuteNonQuery();

Еще 1 вещь: я хочу продолжать обновлять метку, когда есть изменения в значении на этикетке указана текущая ставка аукциона, где покупатель А может просмотреть изменения, если покупатель Б добавит еще ставку

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Для обновления метки (или любых других элементов обновления) вы можете взглянуть на SignalR, библиотеку асинхронной сигнализации для .NET:

https://github.com/SignalR/SignalR

Вот хорошийПример:

http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx

0 голосов
/ 10 февраля 2012

Вы не можете создать веб-приложение с таймером, даже если вы можете сделать это не очень хорошо, а если пользователь закроет страницу?

, вам следует написать службу Windows или работу SQL для обновления данных SQLкоторый зависит от времени, и если вы хотите обновить текст метки, вы должны создать таймер JavaScript и получить данные с помощью ajax, а затем установить текст метки с данными ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...