Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 14302|Yanıt: 0

[ASP.NET] MVC, jQuery arayüzünün ilerleme çubuğunu kullanarak zaman hakkında ilerleme çubuğu uygular

[Bağlantıyı kopyala]
Yayınlandı 5.10.2015 16:05:23 | | | |
E-ticaret sitelerinde, ilerleme çubuğu bazen kullanıcının doğum tarihinin olup olmadığını ve mevcut durumunu görsel olarak göstermek için kullanılır.

Böyle bir model tasarla.

  1. public class User
  2.     {
  3.         public int Id { get; set; }
  4.         public string Name { get; set; }
  5.         public int CoopTime { get; set; }
  6.         public DateTime JoinTime { get; set; }
  7.     }
Kopya kodu
Yukarıdakiler, işbirliği süresi niteliği CoopTime ve katılım zamanı niteliği JoinTime, ilerlemeyle yakından ilişkili iki özniteliktir.

HomeController'da, arayüzü görüntülemek için bir eylem yöntemi kullanılır ve bir eylem yöntemi görünümden GET taleplerini almak ve json verilerini geri getirmek için kullanılır.
  1. public ActionResult Index()
  2.         {
  3.             return View();
  4.         }
  5.         public ActionResult GetStatus()
  6.         {
  7.             User user = new User()
  8.             {
  9.                 Id = 1,
  10.                 Name = "某某用户",
  11.                 CoopTime = 1,
  12.                 JoinTime = new DateTime(2014, 3, 20)
  13.             };
  14.             //判断合作是否已经到期
  15.             int result = DateTime.Compare(DateTime.Now, user.JoinTime.AddYears(user.CoopTime));
  16.             if (result <= 0) //当前时间比合作到期时间早,合作未到期
  17.             {
  18.                 //计算时间
  19.                 var pastDays = (DateTime.Now.Subtract(user.JoinTime)).TotalDays;
  20.                 var oneYearDays = (user.JoinTime.AddYears(user.CoopTime).Subtract(user.JoinTime)).TotalDays;
  21.                 var pastPercentage = (pastDays / oneYearDays) * 100;
  22.                 var dataSuccess = new { msg = true, p = pastPercentage };
  23.                 return Json(dataSuccess, JsonRequestBehavior.AllowGet);
  24.             }
  25.             else //当前时间比合作到期时间晚,合作已到期
  26.             {
  27.                 var dataFail = new { msg = false, p = 100 };
  28.                 return Json(dataFail, JsonRequestBehavior.AllowGet);
  29.             }
  30.         }
  31.     }
Kopya kodu
Yukarıda,
● DateTime Compare statik yöntemini kullanarak 2 kez karşılaştırın; biri mevcut zaman, diğeri ise birleştirme süresi + işbirliği süresi; sonuç 0'dan az veya eşitse, bu sona ermemiş demektir.
● DateTime, Çıkar statik yöntemini kullanarak 2 kez çıkar.

Home/Index.cshtml, sayfa yüklendiğinde, geri dönen verilerin ilerleme çubuğunda görüntülenmesi için sunucuya asenkron bir GET talebi gönderin.
  1. <head>
  2.     <meta name="viewport" content="width=device-width" />
  3.     <title>Index</title>
  4.     <link href="~/Content/themes/base/jquery-ui.css" rel="stylesheet" />
  5.     <scrip{过滤}t src="~/scrip{过滤}ts/jquery-1.8.2.min.js"></scrip{过滤}t>
  6.     <scrip{过滤}t src="~/scrip{过滤}ts/jquery-ui-1.8.24.min.js"></scrip{过滤}t>
  7.     <scrip{过滤}t type="text/javascrip{过滤}t">
  8.         $(function () {
  9.             
  10.             $.getJSON('@Url.Action("GetStatus","Home")', function(data) {
  11.                 if (data.msg == true) {
  12.                     var temp = parseInt(data.p);
  13.                     $('#p').progressbar({
  14.                         value: temp
  15.                     });
  16.                 } else {
  17.                     $('#message').text('已到期');
  18.                     $('#p').progressbar({
  19.                         value: parseInt(data.p)
  20.                     });
  21.                 }
  22.             });
  23.         });
  24.     </scrip{过滤}t>
  25. </head>
  26. <body>
  27.     <div id="p">      
  28.     </div>
  29.     <div>
  30.         <span id="message"></span>
  31.     </div>
  32. </body>
Kopya kodu






Önceki:Web sitelerinin korunmasını hızlandırmak ve CDN dışı IP adreslerinin web sitelerine erişmesini engellemek için Baidu Cloud'un yeni sürümünü kullanın
Önümüzdeki:SoftEther VPN İstemcisi gerçekten ücretsiz bir VPN yazılımıdır
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com