blog-details


    [HttpGet]  
    public IActionResult Index() {  
        List < AuthorListingViewModel > model = new List < AuthorListingViewModel > ();  
        repoAuthor.GetAll().ToList().ForEach(a => {  
            AuthorListingViewModel author = new AuthorListingViewModel {  
                Id = a.Id,  
                    Name = $ "{a.FirstName} {a.LastName}",  
                    Email = a.Email  
            };  
            author.TotalBooks = repoBook.GetAll().Count(x => x.AuthorId == a.Id);  
            model.Add(author);  
        });  
        return View("Index", model);  
    }  

Bây giờ, chúng tôi tạo chế độ xem chỉ mục, theo đoạn mã, được đề cập bên dưới trong thư mục Tác giả của chế độ xem.


    @model IEnumerable < AuthorListingViewModel > @using GR.Web.Models  
    @using GR.Web.Code < div class = "top-buffer" > < /div> < div class = "panel panel-primary" > < div class = "panel-heading panel-head" > Authors < /div> < div class = "panel-body" > < div class = "btn-group" > < a id = "createEditAuthorModal"  
    data - toggle = "modal"  
    asp - action = "AddAuthor"  
    data - target = "#modal-action-author"  
    class = "btn btn-primary" > < i class = "glyphicon glyphicon-plus" > < /i> Add Author < /a> < /div> < div class = "top-buffer" > < /div> < table class = "table table-bordered table-striped table-condensed" > < thead > < tr > < th > Name < /th> < th > Email < /th> < th > Total Books < /th> < th > Action < /th> < /tr> < /thead> < tbody > @foreach(var item in Model) { < tr > < td > @Html.DisplayFor(modelItem => item.Name) < /td> < td > @Html.DisplayFor(modelItem => item.Email) < /td> < td > @Html.DisplayFor(modelItem => item.TotalBooks) < /td> < td > < a id = "editAuthorModal"  
        data - toggle = "modal"  
        asp - action = "EditAuthor"  
        asp - route - id = "@item.Id"  
        data - target = "#modal-action-author"  
        class = "btn btn-info" > < i class = "glyphicon glyphicon-pencil" > < /i> Edit < /a> < a id = "addBookModal"  
        data - toggle = "modal"  
        asp - action = "AddBook"  
        asp - route - id = "@item.Id"  
        data - target = "#modal-action-author"  
        class = "btn btn-success" > < i class = "glyphicon glyphicon-book" > < /i> Book < /a> < /td> < /tr>  
    } < /tbody> < /table> < /div> < /div>  
    @Html.Partial("_Modal", new BootstrapModel {  
        ID = "modal-action-author", AreaLabeledId = "modal-action-author-label", Size = ModalSize.Large  
    })  
    @section scripts { < script src = "/images/blog/359ac1934499a69e63628390d211fab.jpg"  
        asp - append - version = "true" > < /script>  
    }  
    It shows all forms in bootstrap model popup so create the author - index.js file as per following code snippet.  
        (function($) {  
            function Author() {  
                var $this = this;  
      
                function initilizeModel() {  
                    $("#modal-action-author").on('loaded.bs.modal', function(e) {}).on('hidden.bs.modal', function(e) {  
                        $(this).removeData('bs.modal');  
                    });  
                }  
                $this.init = function() {  
                    initilizeModel();  
                }  
            }  
            $(function() {  
                var self = new Author();  
                self.init();  
            })  
        }(jQuery))  

Khi chúng tôi chạy Ứng dụng và gọi phương thức hành động index () từ AuthorController với yêu cầu HttpGet, chúng tôi sẽ nhận được tất cả các tác giả được liệt kê trong giao diện người dùng, như trong Hình 2.

enties

Thêm Author

Để chuyển dữ liệu từ giao diện người dùng đến bộ điều khiển để thêm tác giả với sách của anh ấy / cô ấy, hãy xác định mô hình chế độ xem có tên AuthorBookViewModel, theo đoạn mã, được đề cập bên dưới.


    using System.ComponentModel.DataAnnotations;  
    namespace GR.Web.Models {  
        public class AuthorBookViewModel {  
            public long Id {  
                get;  
                set;  
            }  
            [Display(Name = "First Name")]  
            public string FirstName {  
                get;  
                set;  
            }  
            [Display(Name = "Last Name")]  
            public string LastName {  
                get;  
                set;  
            }  
            public string Email {  
                get;  
                set;  
            }  
            [Display(Name = "Book Name")]  
            public string BookName {  
                get;  
                set;  
            }  
            public string ISBN {  
                get;  
                set;  
            }  
            public string Publisher {  
                get;  
                set;  
            }  
        }  
    }  

AuthorController có một phương thức hành động tên là AddAuthor, phương thức này trả về dạng xem để thêm tác giả. Đoạn mã được đề cập bên dưới dành cho cùng một phương pháp hành động cho cả yêu cầu GET và Post.


    [HttpGet]  
    public PartialViewResult AddAuthor() {  
            AuthorBookViewModel model = new AuthorBookViewModel();  
            return PartialView("_AddAuthor", model);  
        }  
        [HttpPost]  
    public ActionResult AddAuthor(AuthorBookViewModel model) {  
        Author author = new Author {  
            FirstName = model.FirstName,  
                LastName = model.LastName,  
                Email = model.Email,  
                AddedDate = DateTime.UtcNow,  
                IPAddress = Request.HttpContext.Connection.RemoteIpAddress.ToString(),  
                ModifiedDate = DateTime.UtcNow,  
                Books = new List < Book > {  
                    new Book {  
                        Name = model.BookName,  
                            ISBN = model.ISBN,  
                            Publisher = model.Publisher,  
                            IPAddress = Request.HttpContext.Connection.RemoteIpAddress.ToString(),  
                            AddedDate = DateTime.UtcNow,  
                            ModifiedDate = DateTime.UtcNow  
                    }  
                }  
        };  
        repoAuthor.Insert(author);  
        return RedirectToAction("Index");  
    }  

Yêu cầu GET cho phương thức hành động AddAuthor trả về dạng xem từng phần _AddAuthor, đoạn mã đang theo sau trong thư mục Tác giả của dạng xem.

@model AuthorBookViewModel  
@using GR.Web.Models < form asp - action = "AddAuthor"  
role = "form" > @await Html.PartialAsync("_ModalHeader", new ModalHeader {  
        Heading = "Add Author"  
    }) < div class = "modal-body form-horizontal" > < div class = "row" > < div class = "col-lg-6" > < div class = "form-group" > < label asp -  
    for = "FirstName"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "FirstName"  
class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
    for = "LastName"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "LastName"  
class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
    for = "Email"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "Email"  
class = "form-control" / > < /div> < /div> < /div> < div class = "col-lg-6" > < div class = "form-group" > < label asp -  
    for = "BookName"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "BookName"  
class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
    for = "ISBN"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "ISBN"  
class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
    for = "Publisher"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "Publisher"  
class = "form-control" / > < /div> < /div> < /div> < /div> < /div>  
@await Html.PartialAsync("_ModalFooter", new ModalFooter {}) < /form> 

Khi Ứng dụng chạy và nhấp vào nút Thêm Tác giả, nó sẽ đưa ra yêu cầu GET cho hành động AddAuthor (), thêm màn hình tác giả, như thể hiện trong Hình 3.

enties

 

Thêm tác giả và màn hình sách

 

Edit Author

Để chuyển dữ liệu từ giao diện người dùng đến bộ điều khiển để chỉnh sửa tác giả, hãy xác định mô hình chế độ xem có tên AuthorViewModel, theo đoạn mã, được đề cập bên dưới.


    using System.ComponentModel.DataAnnotations;  
    namespace GR.Web.Models {  
        public class AuthorViewModel {  
            [Display(Name = "First Name")]  
            public string FirstName {  
                get;  
                set;  
            }  
            [Display(Name = "Last Name")]  
            public string LastName {  
                get;  
                set;  
            }  
            public string Email {  
                get;  
                set;  
            }  
        }  
    }  

AuthorController có một phương thức hành động tên là EditAuthor, phương thức này trả về dạng xem để chỉnh sửa tác giả. Đoạn mã được đề cập bên dưới cho cùng một phương pháp hành động cho cả yêu cầu GET và Post.


    [HttpGet]  
    public IActionResult EditAuthor(long id) {  
            AuthorViewModel model = new AuthorViewModel();  
            Author author = repoAuthor.Get(id);  
            if (author != null) {  
                model.FirstName = author.FirstName;  
                model.LastName = author.LastName;  
                model.Email = author.Email;  
            }  
            return PartialView("_EditAuthor", model);  
        }  
        [HttpPost]  
    public IActionResult EditAuthor(long id, AuthorViewModel model) {  
        Author author = repoAuthor.Get(id);  
        if (author != null) {  
            author.FirstName = model.FirstName;  
            author.LastName = model.LastName;  
            author.Email = model.Email;  
            author.IPAddress = Request.HttpContext.Connection.RemoteIpAddress.ToString();  
            author.ModifiedDate = DateTime.UtcNow;  
            repoAuthor.Update(author);  
        }  
        return RedirectToAction("Index");  
    }  

Yêu cầu GET cho phương thức hành động EditAuthor trả về dạng xem một phần _EditAuthor, nơi đoạn mã theo sau trong thư mục Tác giả của dạng xem.


    @model AuthorViewModel  
    @using GR.Web.Models < form asp - action = "EditAuthor"  
    role = "form" > @await Html.PartialAsync("_ModalHeader", new ModalHeader {  
            Heading = "Edit Author"  
        }) < div class = "modal-body form-horizontal" > < div class = "form-group" > < label asp -  
        for = "FirstName"  
    class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
        for = "FirstName"  
    class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
        for = "LastName"  
    class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
        for = "LastName"  
    class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
        for = "Email"  
    class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
        for = "Email"  
    class = "form-control" / > < /div> < /div> < /div>  
    @await Html.PartialAsync("_ModalFooter", new ModalFooter {}) < /form>  

Khi một Ứng dụng chạy và nhấp vào nút Chỉnh sửa trong danh sách Tác giả, nó sẽ đưa ra yêu cầu GET cho hành động EditAuthor (), sau đó màn hình tác giả chỉnh sửa được hiển thị trong Hình 4.

enties

 

Edit Author

 Add Book

 

Để chuyển dữ liệu từ giao diện người dùng đến bộ điều khiển để thêm sách, hãy xác định mô hình chế độ xem có tên BookViewModel, theo đoạn mã, được đề cập bên dưới.


    using System.ComponentModel.DataAnnotations;  
    namespace GR.Web.Models {  
        public class BookViewModel {  
            [Display(Name = "Book Name")]  
            public string BookName {  
                get;  
                set;  
            }  
            public string ISBN {  
                get;  
                set;  
            }  
            public string Publisher {  
                get;  
                set;  
            }  
        }  
    }  

AuthorController có một phương thức hành động tên là AddBook, phương thức này trả về một dạng xem để thêm sách. Đoạn mã được đề cập bên dưới cho cùng một phương pháp hành động cho cả yêu cầu GET và Post.


    [HttpGet]  
    public PartialViewResult AddBook(long id) {  
            BookViewModel model = new BookViewModel();  
            return PartialView("_AddBook", model);  
        }  
        [HttpPost]  
    public IActionResult AddBook(long id, BookViewModel model) {  
        Book book = new Book {  
            AuthorId = id,  
                Name = model.BookName,  
                ISBN = model.ISBN,  
                Publisher = model.Publisher,  
                IPAddress = Request.HttpContext.Connection.RemoteIpAddress.ToString(),  
                AddedDate = DateTime.UtcNow,  
                ModifiedDate = DateTime.UtcNow  
        };  
        repoBook.Insert(book);  
        return RedirectToAction("Index");  
    }  

Yêu cầu GET cho phương thức hành động AddBook trả về dạng xem từng phần _AddBook, nơi đoạn mã nằm sau trong thư mục Tác giả của dạng xem.

@model BookViewModel  
@using GR.Web.Models < form asp - action = "AddBook"  
role = "form" > @await Html.PartialAsync("_ModalHeader", new ModalHeader {  
        Heading = "Add Book"  
    }) < div class = "modal-body form-horizontal" > < div class = "form-group" > < label asp -  
    for = "BookName"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "BookName"  
class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
    for = "ISBN"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "ISBN"  
class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
    for = "Publisher"  
class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
    for = "Publisher"  
class = "form-control" / > < /div> < /div> < /div>   
@await Html.PartialAsync("_ModalFooter", new ModalFooter {}) < /form> 

Khi một Ứng dụng chạy và nhấp vào nút Sách trong danh sách Tác giả, nó sẽ đưa ra yêu cầu GET cho hành động AddBook (), sau đó màn hình thêm sách sẽ hiển thị bên dưới trong Hình 5.

 

enties

 

Add Book

 

Các hoạt động này là về bộ điều khiển tác giả. Là một bộ điều khiển khác, BookController có thêm một số thao tác như Liệt kê sách, Chỉnh sửa Sách và Xóa sách. Phương thức khởi tạo của BookController đưa vào kho lưu trữ cho cả thực thể Tác giả và Sách. Đoạn mã được đề cập dưới đây cho cùng một trong BookController.


   using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using Microsoft.AspNetCore.Mvc;  
    using GR.Data;  
    using GR.Web.Models;  
    using Microsoft.AspNetCore.Mvc.Rendering;  
    using Microsoft.AspNetCore.Http;  
    namespace GR.Web.Controllers {  
        public class BookController: Controller {  
            private IRepository < Author > repoAuthor;  
            private IRepository < Book > repoBook;  
            public BookController(IRepository < Author > repoAuthor, IRepository < Book > repoBook) {  
                this.repoAuthor = repoAuthor;  
                this.repoBook = repoBook;  
            }  
        }  
    }  

Bây giờ, hãy nhấp vào menu trên cùng của cuốn sách. Nó hiển thị danh sách sách, như trong Hình 6. Dữ liệu sách được hiển thị ở dạng bảng và trên dạng xem này. Danh sách sách này có các tùy chọn để chỉnh sửa sách và xóa sách. Để chuyển dữ liệu từ bộ điều khiển sang chế độ xem, hãy tạo mô hình chế độ xem BookListingViewModel được đặt tên, như được hiển thị bên dưới.


    namespace GR.Web.Models {  
        public class BookListingViewModel {  
            public long Id {  
                get;  
                set;  
            }  
            public string BookName {  
                get;  
                set;  
            }  
            public string AuthorName {  
                get;  
                set;  
            }  
            public string ISBN {  
                get;  
                set;  
            }  
            public string Publisher {  
                get;  
                set;  
            }  
        }  
    }  

Bây giờ, chúng ta tạo một phương thức hành động, phương thức này trả về một dạng xem chỉ mục với dữ liệu. Đoạn mã, được đề cập bên dưới là phương pháp hành động Lập chỉ mục trong BookController.


    public IActionResult Index() {  
        List < BookListingViewModel > model = new List < BookListingViewModel > ();  
        repoBook.GetAll().ToList().ForEach(b => {  
            BookListingViewModel book = new BookListingViewModel {  
                Id = b.Id,  
                    BookName = b.Name,  
                    Publisher = b.Publisher,  
                    ISBN = b.ISBN  
            };  
            Author author = repoAuthor.Get(b.AuthorId);  
            book.AuthorName = $ "{author.FirstName} {author.LastName}";  
            model.Add(book);  
        });  
        return View("Index", model);  
    }  

Now, we create an index view, as per the code snippet, mentioned below under the Book folder of Views.


    @model IEnumerable < BookListingViewModel > @using GR.Web.Models  
    @using GR.Web.Code < div class = "top-buffer" > < /div> < div class = "panel panel-primary" > < div class = "panel-heading panel-head" > Books < /div> < div class = "panel-body" > < div class = "top-buffer" > < /div> < table class = "table table-bordered table-striped table-condensed" > < thead > < tr > < th > Name < /th> < th > Author Name < /th> < th > ISBN < /th> < th > Publisher < /th> < th > Action < /th> < /tr> < /thead> < tbody > @foreach(var item in Model) { < tr > < td > @Html.DisplayFor(modelItem => item.BookName) < /td> < td > @Html.DisplayFor(modelItem => item.AuthorName) < /td> < td > @Html.DisplayFor(modelItem => item.ISBN) < /td> < td > @Html.DisplayFor(modelItem => item.Publisher) < /td> < td > < a id = "editBookModal"  
        data - toggle = "modal"  
        asp - action = "EditBook"  
        asp - route - id = "@item.Id"  
        data - target = "#modal-action-book"  
        class = "btn btn-info" > < i class = "glyphicon glyphicon-pencil" > < /i> Edit < /a>  < a id = "deleteBookModal"  
        data - toggle = "modal"  
        asp - action = "DeleteBook"  
        asp - route - id = "@item.Id"  
        data - target = "#modal-action-book"  
        class = "btn btn-danger" > < i class = "glyphicon glyphicon-trash" > < /i> Delete < /a>  < /td> < /tr>  
    } < /tbody> < /table> < /div> < /div>  
    @Html.Partial("_Modal", new BootstrapModel {  
        ID = "modal-action-book", AreaLabeledId = "modal-action-book-label", Size = ModalSize.Medium  
    })  
    @section scripts { < script src = "/images/blog/adf463cb34ffe6b503069f4bb91bbdb.jpg"  
        asp - append - version = "true" > < /script>  
    }  

It shows all forms in bootstrap model popup, so create the book-index.js file, as per the code snippet, mentioned below.


    (function($) {  
        function Book() {  
            var $this = this;  
      
            function initilizeModel() {  
                $("#modal-action-book").on('loaded.bs.modal', function(e) {}).on('hidden.bs.modal', function(e) {  
                    $(this).removeData('bs.modal');  
                });  
            }  
            $this.init = function() {  
                initilizeModel();  
            }  
        }  
        $(function() {  
            var self = new Book();  
            self.init();  
        })  
    }(jQuery))  

When we run the Application and click on top menu Book, which calls index() action method with a HttpGet request from BookController, then we get all the book listed in the UI, as shown below.

 

enties

 

Book Listing

 

Edit Book

 

Để chuyển dữ liệu từ giao diện người dùng đến bộ điều khiển để chỉnh sửa sách, hãy xác định mô hình chế độ xem có tên EditBookViewModel, như được hiển thị bên dưới.


    using Microsoft.AspNetCore.Mvc.Rendering;  
    using System.Collections.Generic;  
    using System.ComponentModel.DataAnnotations;  
    namespace GR.Web.Models {  
        public class EditBookViewModel {  
            [Display(Name = "Book Name")]  
            public string BookName {  
                get;  
                set;  
            }  
            public string ISBN {  
                get;  
                set;  
            }  
            public string Publisher {  
                get;  
                set;  
            }  
            public List < SelectListItem > Authors {  
                get;  
                set;  
            } = new List < SelectListItem > ();  
            [Display(Name = "Author")]  
            public long AuthorId {  
                get;  
                set;  
            }  
        }  
    }  

BookController có một phương thức hành động tên là EditBook, phương thức này trả về chế độ xem để chỉnh sửa sách. Đoạn mã được đề cập bên dưới cho cùng một phương pháp hành động cho cả yêu cầu GET và Post.


    public PartialViewResult EditBook(long id) {  
            EditBookViewModel model = new EditBookViewModel();  
            model.Authors = repoAuthor.GetAll().Select(a => new SelectListItem {  
                Text = $ "{a.FirstName} {a.LastName}",  
                    Value = a.Id.ToString()  
            }).ToList();  
            Book book = repoBook.Get(id);  
            if (book != null) {  
                model.BookName = book.Name;  
                model.ISBN = book.ISBN;  
                model.Publisher = book.Publisher;  
                model.AuthorId = book.AuthorId;  
            }  
            return PartialView("_EditBook", model);  
        }  
        [HttpPost]  
    public ActionResult EditBook(long id, EditBookViewModel model) {  
        Book book = repoBook.Get(id);  
        if (book != null) {  
            book.Name = model.BookName;  
            book.ISBN = model.ISBN;  
            book.Publisher = model.Publisher;  
            book.AuthorId = model.AuthorId;  
            book.IPAddress = Request.HttpContext.Connection.RemoteIpAddress.ToString();  
            book.ModifiedDate = DateTime.UtcNow;  
            repoBook.Update(book);  
        }  
        return RedirectToAction("Index");  
    }  

Yêu cầu GET cho phương thức hành động EditBook trả về dạng xem từng phần _EditBook, trong đó đoạn mã được đề cập bên dưới trong thư mục Sách về dạng xem.


    @model EditBookViewModel  
    @using GR.Web.Models < form asp - action = "EditBook"  
    role = "form" > @await Html.PartialAsync("_ModalHeader", new ModalHeader {  
            Heading = "Edit Book"  
        }) < div class = "modal-body form-horizontal" > < div class = "form-group" > < label asp -  
        for = "BookName"  
    class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
        for = "BookName"  
    class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
        for = "ISBN"  
    class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
        for = "ISBN"  
    class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
        for = "Publisher"  
    class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < input asp -  
        for = "Publisher"  
    class = "form-control" / > < /div> < /div> < div class = "form-group" > < label asp -  
        for = "AuthorId"  
    class = "col-lg-3 col-sm-3 control-label" > < /label> < div class = "col-lg-6" > < select asp -  
        for = "AuthorId"  
    asp - items = "@Model.Authors"  
    class = "form-control" > < option > Please select < /option> < /select>  < /div> < /div> < /div>  
    @await Html.PartialAsync("_ModalFooter", new ModalFooter {}) < /form>  

Khi một Ứng dụng chạy và nhấp vào nút Chỉnh sửa trong các sách được liệt kê, Ứng dụng sẽ đưa ra yêu cầu GET cho hành động EditBook (), sau đó màn hình chỉnh sửa sách được hiển thị bên dưới.

 

enties

 

Edit Book

 

Delete Book

 

BookController có một phương thức hành động tên là DeleteBook, phương thức này trả về dạng xem để xóa sách. Đoạn mã được đề cập bên dưới cho cùng một phương pháp hành động cho cả yêu cầu GET và Post.


    [HttpGet]  
    public PartialViewResult DeleteBook(long id) {  
            Book book = repoBook.Get(id);  
            return PartialView("_DeleteBook", book ? .Name);  
        }  
        [HttpPost]  
    public ActionResult DeleteBook(long id, FormCollection form) {  
        Book book = repoBook.Get(id);  
        if (book != null) {  
            repoBook.Delete(book);  
        }  
        return RedirectToAction("Index");  
    }  
    The GET request  
    for the DeleteBook action method returns _DeleteBook partial view which code snippet is following under the Book folder of Views.  
    @model string  
    @using GR.Web.Models < form asp - action = "DeleteBook"  
    role = "form" > @Html.Partial("_ModalHeader", new ModalHeader {  
        Heading = "Delete Book"  
    }) < div class = "modal-body form-horizontal" > Are you want to delete @Model ? < /div>  
    @Html.Partial("_ModalFooter", new ModalFooter {  
        SubmitButtonText = "Delete"  
    }) < /form>  

Khi một Ứng dụng chạy và bạn nhấp vào nút Xóa trong các sách được liệt kê, Ứng dụng sẽ đưa ra yêu cầu GET cho hành động DeleteBook (), sau đó màn hình xóa sách được hiển thị bên dưới.

 

enties

 

Delete Book

Tải xuống


Bạn có thể tải xuống mã nguồn hoàn chỉnh từ TechNet Gallery, sử dụng các liên kết, được đề cập bên dưới.

 

  1. Generic Repository Pattern in ASP.NET Core
  2. Repository Pattern in ASP.NET Core
  3. CRUD Operations in ASP.NET Core and Entity Framework Core
  4. Rating Star Application in ASP.NET Core

Đánh giá bài viết