この記事の例では、簡単な効果を実現するための jQuery の詳細なコードを説明します。具体的な内容は次のとおりです。
レンダリング:
次に、ASP.NET MVC4+jQuery Ajax で実装された「like」のコード例を示します。
モデル:
namespace MvcAjaxAdd.Models { public class ClickCountModel { [Key] [DatabaseGeneratedAttribute(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)] public int ID { get; set; } public string URL { get; set; } public int? Num { get; set; } } }
ビュー:
@{ ViewBag.Title = "Index"; } @model MvcAjaxAdd.Models.ClickCountModel <script src="~/Scripts/jquery-1.7.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { var obj = { "num": $("#lblnum").text(), "url": window.location.pathname//获取/Home/Index }; $("#addnum").click(function () { $.ajax({ type: 'POST', url: '/Home/ClickGood', data: obj, success: function (data) { $("#lblnum").text(data.Num); //其它操作,比如每个登录用户只能点一次,按钮禁用等 } }); }); }); </script> <div id="addnum" style="width: 70px; height: 70px; background-color: #FF9900"> <div align="center" style="margin-top: 10px;"> <label style="color: White; font-size: 20pt;"> 顶</label></div> <div align="center"> <label id="lblnum" style="color: White; font-size: 10pt;"> @Model.Num</label></div> </div>
コントローラー:
namespace MvcAjaxAdd.Controllers { public class HomeController : Controller { private ClickCountContext db = new ClickCountContext(); public ActionResult Index() { ClickCountModel ClickCountModel = db.ClickCountModels.FirstOrDefault(x => x.URL == "/"); return View(ClickCountModel); } [HttpPost] public JsonResult ClickGood(ClickCountModel ClickCountModel) { ClickCountModel newClickCountModel = db.ClickCountModels.FirstOrDefault(x => x.URL == ClickCountModel.URL); newClickCountModel.Num++;//数量+1 db.SaveChanges(); return Json(newClickCountModel); } } }
上記がこの記事の全内容です。jquery プログラミングを学習する皆さんのお役に立てれば幸いです。