Nhóm :
Member
Tham gia:
01-12-2011
Bài viết:
4
Lần thăm:
2

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é!