Grid Paging, Searching, Detail,Edit, Delete in ASP.NET MVC3 By MvcContrid
Hi cả nhà,
Hôm qua lướt Web, vô tình tìm được bí kíp MVC3, và để Edit lại source thì dính một số lỗi đến giờ mới fix xong. (loay hoay cả buổi sáng ko làm dc, tự nhiên sau khi ăn cơm chay, ngủ 30' , nghe "Sorry that i love you", "Gotta by somebody", "Here i am"), rồi tắt hết các cửa sổ của những bài viết đã tham khảo hồi sáng, và bắt đầu suy nghĩ ra từ khóa để search .. rồi lại vô tình tìm được em này http://geekswithblogs.net/michelotti/archive/2009/04/06/mvc-deletelink-with-ajaxhelper.aspx > và đã giải quyết được điều mình muốn.
Như vậy mình đã có một Grid tuyệt vời với các chức năng "Search", "Paging", "Sort By Field", Detail > nguồn http://www.codeproject.com/KB/aspnet/Grid_Paging_In_MVC3.aspx và Edit + Delete
Sau khi Bạn vào CodeProject (link trên) > thì hãy download source đó, ai nghiên cứu MVC3 thì phải down nhé. sau đó:
1. AlbumService.cs (trong thư mục Model), ta thêm
public void DeleteAlbum(int albumId)
{
Album album = _context.Albums.Where(x => x.AlbumId == albumId).SingleOrDefault();
_context.DeleteObject(album);
_context.SaveChanges();
}
2. AlbumController ta thêm
[HttpPost]
public ActionResult Delete(int AlbumId)
{ // delete >> view
_service.DeleteAlbum(AlbumId);
ViewBag.Test = DateTime.Now.Millisecond + "_" + AlbumId;
return PartialView("Index", _service.GetAlbumsView());
}
3. Index.cshtml (AlbumView), ta thêm
3.1 Trong Grid
column.Custom(
@<text>
@Ajax.ActionLink("Delete", "Delete", new { AlbumId = item.AlbumId },
new AjaxOptions
{
Confirm = "Delete ?",
HttpMethod = "Post",
UpdateTargetId = "Index"
})
</text>
);
3.2 bỏ ở cuối
<script type="text/javascript">
function deleteComplete() {
alert('hello');
window.location.reload();
}
</script>
Vậy là Bạn đã có một Grid tuyệt vời, giờ muốn thêm, bớt gì đó trong Grid thì nghiên cứu thêm nhé!
Hôm qua lướt Web, vô tình tìm được bí kíp MVC3, và để Edit lại source thì dính một số lỗi đến giờ mới fix xong. (loay hoay cả buổi sáng ko làm dc, tự nhiên sau khi ăn cơm chay, ngủ 30' , nghe "Sorry that i love you", "Gotta by somebody", "Here i am"), rồi tắt hết các cửa sổ của những bài viết đã tham khảo hồi sáng, và bắt đầu suy nghĩ ra từ khóa để search .. rồi lại vô tình tìm được em này http://geekswithblogs.net/michelotti/archive/2009/04/06/mvc-deletelink-with-ajaxhelper.aspx > và đã giải quyết được điều mình muốn.
Như vậy mình đã có một Grid tuyệt vời với các chức năng "Search", "Paging", "Sort By Field", Detail > nguồn http://www.codeproject.com/KB/aspnet/Grid_Paging_In_MVC3.aspx và Edit + Delete
Sau khi Bạn vào CodeProject (link trên) > thì hãy download source đó, ai nghiên cứu MVC3 thì phải down nhé. sau đó:
1. AlbumService.cs (trong thư mục Model), ta thêm
public void DeleteAlbum(int albumId)
{
Album album = _context.Albums.Where(x => x.AlbumId == albumId).SingleOrDefault();
_context.DeleteObject(album);
_context.SaveChanges();
}
2. AlbumController ta thêm
[HttpPost]
public ActionResult Delete(int AlbumId)
{ // delete >> view
_service.DeleteAlbum(AlbumId);
ViewBag.Test = DateTime.Now.Millisecond + "_" + AlbumId;
return PartialView("Index", _service.GetAlbumsView());
}
3. Index.cshtml (AlbumView), ta thêm
3.1 Trong Grid
column.Custom(
@<text>
@Ajax.ActionLink("Delete", "Delete", new { AlbumId = item.AlbumId },
new AjaxOptions
{
Confirm = "Delete ?",
HttpMethod = "Post",
UpdateTargetId = "Index"
})
</text>
);
3.2 bỏ ở cuối
<script type="text/javascript">
function deleteComplete() {
alert('hello');
window.location.reload();
}
</script>
Vậy là Bạn đã có một Grid tuyệt vời, giờ muốn thêm, bớt gì đó trong Grid thì nghiên cứu thêm nhé!