bootstrap adminlte教程9:问答系统的ClubContents的用方法修改表中的一个字段的值,实现管理员完结
我一直在搜SQL的update方法在MVC5中怎么用哩,Edit非要所有字段的值写上,
后来终于知道,原来也可以只改某一个值 的。
1.在前台增加一个if管理员,增加ok的铵钮。
@if (Session["role"].ToString() == "Super") { <form action="/ClubContents/DelClub?Id=@item.Id" method="post" class="col-md-1 col-xs-3 text-left"> <input id="DelSubmit" class="btn btn-xs btn-warning" type="submit" value="Del"> </form> <form action="/ClubContents/OkClub?Id=@item.Id" method="post"> <input id="DelSubmit1" class="btn btn-xs btn-info" type="submit" value="Ok"> </form> }
上面的JS是一个确认和上篇的一样。要写在@session中
<script type="text/javascript"> window.onload = function () { var bt = document.getElementById("DelSubmit1"); bt.onclick = function () { confirm("确定完结吗?"); } } </script>
3.方法
// POST:确定完结问答,由管理员可以直接操作 [HttpPost] //[ValidateAntiForgeryToken] public ActionResult OkClub(string id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } //读出find var OkClubToUpdate = db.ClubContents.Find(id); OkClubToUpdate.ClubState = "1"; if (TryUpdateModel(OkClubToUpdate)) //TryUpdateModel是方法的重点他能看到属性的改变。上面我改变了为1. { db.SaveChanges(); return RedirectToAction("Index"); } return RedirectToAction("Index"); }
成功。