倒计时定时器和不断刷新标签



我正在做一个拍卖网站我需要帮助创建一个倒计时计时器,当时间到达时,产品状态将更改为关闭我只是比较一下日期的不同。

$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();

还有一件事:当值发生变化时,我想继续刷新标签标签是拍卖当前出价,如果客户B添加更多出价

,客户A可以直接看到变化

要刷新标签(或任何更新项),您可能需要查看SignalR,一个用于.NET:的异步信号库

https://github.com/SignalR/SignalR

这里有一个很好的例子:

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

你不能创建一个定时器web应用程序,即使你可以,这不是一个好的方法,如果用户关闭页面怎么办?

您应该编写一个windows服务或sql作业来更新sql数据,这取决于时间,如果要刷新标签文本,则必须创建一个javascript计时器并通过ajax获取数据,然后使用ajax数据设置标签文本。

最新更新