Cshtml là gì

  -  

Trong bàitrước họ dùngVisual Studio sẽ tự động tạo những phương thức CRUD (create, read, update, và delete) và kèm theo hình ảnh (views) vì vậy với ASP.NETMVC.

Bạn đang xem: Cshtml là gì

Trong bài lúc này chúng ta sẽ khám phá trangIndex.cshtmlvà mã mối cung cấp của nó. Sau thời điểm tạo xongBookController, các bạn chạy dự án công trình web với mặt đường dẫnhttp://localhost:xxxx/Book/để mở giao diện thống trị bảngBookmặc định.

*

Bạn hoàn toàn có thể tiếp tục thực hiện view Index.cshtml bởi ASP.NET Core tự động hóa sinh ra.

Tuy nhiên để theo dõi và dứt bài học tập này, chúng ta hãy kiểm soát và điều chỉnh code của Index.cshtml như sau:

Kiểm tra mã nguồn

Đến đây, bạn mở xem nội dung tập tin ControllersBookController.cs, cách làm Index được gieo ra cùng với đoạn mã như sau.

public class BookController : Controller private BookStoreEntity db = new BookStoreEntity(); / public ActionResult Index() var books = db.Books.Include(b => b.Author).Include(b => b.Category); return View(books.ToList()); .....Trong phương thức Index, chúng ta có thể thấy cách thức Index có mức giá trị trả về làView(db.Links.ToList()), tức là danh sách những sách vào bảng Book ở các đại lý dữ liệu. Vào đó, db là 1 trong biến DbContext, db.Books là bảng Book, db.Books.ToList() là trả bảng liên kết về một danh sách kiểu List. Ta cũng thấy cóphương thức Include (db.Books.Include) để lấy tên tác giả và hạng mục sách trong 2 bảng Author Category

Bạn rất có thể thấy thêm đoạnprivate BookStoreEntitydb = new BookStoreEntity();chính là khai báo biến chuyển db đẳng cấp DbContext (như vẫn giải thích) dùng làm tương tác (thêm, xóa, sửa, cập nhật) trong cơ sở dữ liệu.

Xem thêm: Danh Sách Các Nước Được Miễn Hợp Pháp Hóa Lãnh Sự Và Loại Giấy Tờ Được Miễn

Tiếp theo, ngôn từ tập tin Index.cshtmlnhư sau.


model IEnumerable
ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml";

Index


Html.ActionLink("Create New", "Create")


Html.DisplayNameFor(model => model.Title)
Html.DisplayNameFor(model => model.Price)
Html.DisplayNameFor(model => model.Images)
Html.DisplayNameFor(model => model.Description)
Html.DisplayNameFor(model => model.Published)
Html.DisplayNameFor(model => model.ViewCount)
Html.DisplayNameFor(model => model.Author.AuthorName)
Html.DisplayNameFor(model => model.Category.CategoryName)
foreach (var thành tựu in Model)

Html.DisplayFor(modelItem => item.Title)

Html.DisplayFor(modelItem => item.Price)

Html.DisplayFor(modelItem => item.Images)

Html.DisplayFor(modelItem => item.Description)

Html.DisplayFor(modelItem => item.Published)

Html.DisplayFor(modelItem => item.ViewCount)

Html.DisplayFor(modelItem => item.Author.AuthorName)

Html.DisplayFor(modelItem => item.Category.CategoryName)

Html.ActionLink("Edit", "Edit", new id=item.BookID )

Trong Index.cshtml có một vài điều lưu ý sau:

Model của view này có kiểu là
model IEnumerable. Để ý rằng view mã sản phẩm mà Index trả mang lại view bao gồm kiểu Book<> – mảng này tiến hành IEnumerable.

Các biểu thức có dạng
Html.DisplayNameFor(model => model.Name) được gọi là Html helper. Html helper là rất nhiều phương thức C# hỗ trợ sinh HTML. Đây là thành phầm từ thời ASP.NET MVC.

Xem thêm: Đặc Sản Quảng Bình Mua Về Làm Quà Nhất Định Phải Tìm Mua, Đặc Sản Quảng Bình Mua Về Làm Quà Khi Đi Du Lịch

Tùy chỉnh một số chi tiết :

Index -> danh sách sáchCreate New -> Thêm sách mớiDelete -> XóaDetails -> XemEdit -> SửaXóa các cột: tế bào tả, mốc giới hạn xem.Chỉnh lại cột hình ảnh

Tùy chỉnh cột hình: thứ nhất copy folder bookimages vào trongproject:

*

Tùy chỉnh thẻsau:


Html.DisplayFor(modelItem => item.Images)Thànhthẻ sau:

Mở tập tin Book.cs chèn thêm chú thich sau vào cột ngày

DisplayFormat(DataFormatString = "0:dd/MM/yyyy", ApplyFormatInEditMode = true)Thêm CSS cho những HTML sau:


Html.ActionLink("Thêm sách mới", "Create",null, new
class = "btn btn-warning" )Nội dung tập tin Index.cshtml sau khi chỉnh sửa.


model IEnumerable
ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml";

Danh sách sách


Html.ActionLink("Thêm sách mới", "Create",null, new
class = "btn btn-warning" )


Html.DisplayNameFor(model => model.Title)
Html.DisplayNameFor(model => model.Price)
Html.DisplayNameFor(model => model.Images)
Html.DisplayNameFor(model => model.Published)
Html.DisplayNameFor(model => model.Author.AuthorName)
Html.DisplayNameFor(model => model.Category.CategoryName)
foreach (var công trình in Model) {

Html.DisplayFor(modelItem => item.Title)

Html.DisplayFor(modelItem => item.Price)

Html.DisplayFor(modelItem => item.Published)

Html.DisplayFor(modelItem => item.Author.AuthorName)

Html.DisplayFor(modelItem => item.Category.CategoryName)

Html.ActionLink("Sửa", "Edit", new id=item.BookID ) |