See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 14302|Vastuse: 0

[ASP.NET] MVC rakendab aja kohta edenemisriba, kasutades jQuery kasutajaliidese edenemisriba

[Kopeeri link]
Postitatud 05.10.2015 16:05:23 | | | |
E-kaubanduse veebilehtedel kasutatakse edenemisriba mõnikord selleks, et visuaalselt näidata, kas kasutaja on tähtaeg ja milline on tema praegune staatus.

Kujunda selline mudel.

  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.     }
Kopeeri kood
Ülaltoodud on koostöö kestuse atribuut CoopTime ja liitumisaja atribuut JoinTime on kaks atribuuti, mis on tihedalt seotud edenemisega.

HomeControlleris kasutatakse liidese kuvamiseks tegevusmeetodit ning tegevusmeetodit GET-päringute vastuvõtmiseks vaatepunktist ja json-andmete tagastamiseks.
  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.     }
Kopeeri kood
Ülal,
● Kasuta staatilist DateTime Compare meetodit, et võrrelda kahte korda: üks on praegune aeg, teine liitumisaeg + koostöö kestus, kui tulemus on väiksem või võrdne 0-ga, tähendab see, et aegumist ei ole.
● Kasuta staatilist meetodit DateTime, Lahuta, et lahutada kaks korda.

Home/Index.cshtml, kui leht on laaditud, saada serverile asünkroonne GET-päring, et tagastatud andmed kuvatakse progressiribal.
  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>
Kopeeri kood






Eelmine:Kasuta Baidu Cloudi uut versiooni, et kiirendada veebilehtede kaitset ja blokeerida mitte-CDN IP-aadressidel veebilehtedele ligipääs
Järgmine:SoftEther VPN Client on tõeliselt tasuta VPN-tarkvara
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com