Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 14302|Odpoveď: 0

[ASP.NET] MVC implementuje ukazovateľ priebehu o čase, ktorý využíva progress bar v rozhraní jQuery

[Kopírovať odkaz]
Zverejnené 5. 10. 2015 16:05:23 | | | |
Na e-commerce webstránkach sa ukazovateľ priebehu niekedy používa na vizuálne zobrazenie, či je používateľ na mieste a aký je jeho aktuálny stav.

Navrhnúť takýto model.

  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.     }
Kopírovať kód
Vyššie uvedené je atribút trvania spolupráce CoopTime a atribút jointime JoinTime sú dva atribúty, ktoré úzko súvisia s pokrokom.

V HomeController sa používa metóda akcie na zobrazenie rozhrania a metóda akcie na prijatie GET požiadaviek z pohľadu a vrátenie json dát.
  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.     }
Kopírovať kód
Vyššie,
● Použite statickú metódu DateTime Compare na porovnanie 2 časov, jeden je aktuálny čas, druhý je čas spojenia + trvanie spolupráce, ak je výsledok menší alebo rovný 0, znamená to, že neexistuje žiadny expiračný čas.
● Použite statickú metódu DateTime, Odčítajte, na odčítanie 2-krát.

Home/Index.cshtml, keď sa stránka načíta, pošlite serveru asynchrónnu požiadavku GET, ktorá zobrazí vrátené dáta v progress bare.
  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>
Kopírovať kód






Predchádzajúci:Využite novú verziu Baidu Cloud na zrýchlenie ochrany webových stránok a blokovanie IP adries mimo CDN prístupu na webové stránky
Budúci:SoftEther VPN Client je skutočne bezplatný VPN softvér
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com