この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 14302|答える: 0

[ASP.NET] MVCはjQuery UIの進行バーを使って時間に関する進行バーを実装しています

[リンクをコピー]
掲載地 2015/10/05 16:05:23 | | | |
eコマースウェブサイトでは、進捗バーがユーザーの提出期限や現在の状況を視覚的に表示するために使われることがあります。

そのようなモデルを設計してください。

  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.     }
コードをコピーします
上記は協力期間属性のCoopTimeと、jointime属性のJoinTimeは進行状況に密接に関連する2つの属性です。

HomeControllerでは、アクションメソッドがインターフェースの表示に使われ、アクションメソッドがビューからのGETリクエストを受け取り、jsonデータを返します。
  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.     }
コードをコピーします
上記、
● DateTime Compare の静的手法を使って2回比較します。1回は現在の時間、もう1回は結合時間+協力期間です。結果が0以下なら有効期限がありません。
● DateTime, Detractの静的手法を使って2倍を引く。

Home/Index.cshtmlはページが読み込まれた際、非同期のGETリクエストをサーバーに送り、返されたデータを進行バーに表示させます。
  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>
コードをコピーします






先の:新バージョンの百度クラウドを使ってウェブサイトの保護を加速し、非CDNのIPアドレスからのウェブサイトアクセスをブロックしましょう
次に:SoftEther VPN Clientは本当に無料のVPNソフトウェアです
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com