1. Trang chủ
  2. » Công Nghệ Thông Tin

MVC4Seminar lab3

6 416 9
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng CRUD
Người hướng dẫn ThS. CNTT: Nguyễn Nghiệm
Trường học FPT University
Chuyên ngành Information Technology
Thể loại Bài tập
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 6
Dung lượng 0,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÀI 3: ỨNG DỤNG CRUD MỤC TIÊU  Biết cách xây dựng ứng dụng CRUD Create, Read, Update và Delete với EF trong MVC4  Biết cách upload hình lên server  Biết cách trang trí trang web với

Trang 1

BÀI 3: ỨNG DỤNG CRUD

MỤC TIÊU

 Biết cách xây dựng ứng dụng CRUD (Create, Read, Update và Delete) với EF trong MVC4

 Biết cách upload hình lên server

 Biết cách trang trí trang web với Jquery

MÔ TẢ

Trong bài này ban sẽ phải xây dựng một trang web với MVC4 sử dụng EF để quản lý bảng Suppliers với các chức năng thêm, xóa, sửa và truy vấn dữ liệu một cách hoàn chỉnh Ứng dụng được mô tả như các hình vẽ sau đây

Giao diện được bố trí gồm 2 tabs:

 tabEdit: chứa form cho phép xem, thêm, sửa và xóa

 tabList: chứa lưới hiển thị danh sách nhà cung cấp và cho phép chọn để sửa và xóa

Hình 1: tabEdit – Chứa form cập nhật

Trang 2

Hình 2: tabList - Chứa lưới hiển thị danh sách nhà cung cấp Hoạt động của form

Khởi đầu Hiển thị danh sách nhà cung cấp lên lưới

tabs.Click Chuyển đổi giữa form nhập và lưới hiển thị

btnInsert.Click Bổ sung một nhà cung cấp mới

btnUpdate.Click Cập nhật thông tin nhà cung cấp đang xem

btnDelete.Click Xóa nhà cung cấp đang xem hoặc trên hàng được chọn

btnAddNew.Click Làm sach form để nhập nhà cung cấp mới

btnEdit.Click Chọn nhà cung cấp để xem, sửa hoặc xóa

Trang 3

THỰC HIỆN

 Bước 1: Tạo SupplierController và Thêm Action Crud()

 Bước 2: Thiết kế View Crud.cshtml

 Bước 3: Hoàn thiện mã xử lý cho Crud

Bước 1: Tạo SupplierController và thêm Action Crud()

Cách tốt nhất là bạn tạo view cho action này trước sau đó quay lại viết mã để hoàn thiện việc xử lý thì sẽ

dễ hiểu hơn

namespace MVC4Seminar.Controllers

{

public class SupplierController : Controller

{

public ActionResult Crud()

{

return View();

}

}

}

Bước 2: Thiết kế View Crud.cshtml

Thêm view Crud.cshtml và thiết kế giao diện như sau:

@model MVC4Seminar.Models Supplier

@{

ViewBag.Title = "Supplier CRUD" ;

}

< div class ="tabs">

< ul >

< li >< a href ="#tabEdit">Supplier edition</ a ></ li >

< li >< a href ="#tabList">List of suppliers</ a ></ li >

</ ul >

< div id ="tabEdit">

< form action ="/Supplier/Crud" method ="post" enctype ="multipart/form-data">

< img src ="/Images/suppliers/@Model.Logo" style =" width :150px; height :150px" /> < div style =" display :inline-block">

< label >Supplier Id</ label >

@Html.TextBoxFor(m => m.Id)

< br />

< label >Company Name</ label >

@Html.TextBoxFor(m => m.Name)

< br />

< label >Email Address</ label >

@Html.TextBoxFor(m => m.Email)

< br />

< label >Phone Number</ label >

@Html.TextBoxFor(m => m.Phone)

< br />

< label >Logo</ label >

< input name ="uplLogo" type ="file" />

@Html.HiddenFor(m => m.Logo)

</ div >

< hr />

Trang 4

< input type ="submit" name ="cmdInsert" value ="Insert" />

< input type ="submit" name ="cmdUpdate" value ="Update" />

< input type ="submit" name ="cmdDelete" value ="Delete" />

< class ="button" href ="/Supplier/Crud">Add New</ a

</ form >

</ div >

< div id ="tabList">

< table class ="gridview">

< tr >

< th >Logo</ th >

< th >Id</ th >

< th >Name</ th >

< th >Email</ th >

< th >Phone</ th >

< th > &nbsp; </ th >

</ tr >

@foreach (var s in ViewBag.Suppliers)

{

< tr >

< td >< img src ="/images/suppliers/@s.Logo"/></ td >

< td >@s.Id</ td >

< td >@s.Name</ td >

< td >@s.Email</ td >

< td >@s.Phone</ td >

< td style =" text-align :center">

< class ="button" href ="/Supplier/Crud/@s.Id?cmdEdit=1">Edit</ a

< class ="button" href ="/Supplier/Crud/@s.Id?cmdDelete=1">Delete</ a

</ td >

</ tr >

}

</ table >

< hr />

< class ="button" href ="/Supplier/Crud">Add New</ a

</ div >

</ div >

@section scripts{

< style >

gridview img {

width :30px; height :30px;

}

</ style >

}

Bước 3: Hoàn thiện mã xử lý cho Crud

 Để làm việc được với CSDL, bạn cần dòng mã lệnh:

o MVC4SeminarDB db = new MVC4SeminarDB();

 Đề biết được có tham số cmdInsert hay không, bạn cần

o if (Request["cmdInsert"] != null) {…}

 Để kiểm tra xem có upload file hay không:

o if (Uploader.HasFile("uplLogo")){}

 Đề lưu file upload vào thư mục và lấy tên file:

o model.Logo = Uploader.Save("uplLogo", "~/Images/suppliers/");

Trang 5

 Để bổ sung một bản ghi vào CSDL:

o db.Suppliers.Add(model);

o db.SaveChanges();

 Để cập nhật một bản ghi vào CSDL:

o db.Entry(model).State= EntityState.Modified;

o db.SaveChanges();

 Để xóa một bản ghi khỏi CSDL:

o db.Suppliers.Remove(model);

o db.SaveChanges();

 Để tìm 1 bản ghi theo khóa chính:

o var supplier = db.Suppliers.find(id);

Sau đây là toàn bộ đoạn mã nguồn của phương thức Action Crud()

public class SupplierController : Controller

{

MVC4SeminarDB db = new MVC4SeminarDB ();

public ActionResult Crud( Supplier model)

{

if (Request[ "cmdInsert" ] != null)

{

if ( Uploader HasFile( "uplLogo" ))

{

model.Logo = Uploader Save( "uplLogo" , "~/Images/suppliers/" );

}

db.Suppliers.Add(model);

db.SaveChanges();

}

else if (Request[ "cmdUpdate" ] != null)

{

if ( Uploader HasFile( "uplLogo" ))

{

model.Logo = Uploader Save( "uplLogo" , "~/Images/suppliers/" );

}

db.Entry(model).State= EntityState Modified;

db.SaveChanges();

}

else if (Request[ "cmdDelete" ] != null)

{

model = db.Suppliers.Find(model.Id);

db.Suppliers.Remove(model);

db.SaveChanges();

return RedirectToAction( "Crud" );

}

else if (Request[ "cmdEdit" ] != null)

{

model = db.Suppliers.Find(model.Id);

}

ViewBag.Suppliers = db.Suppliers;

return View(model);

}

Trang 6

}

Ngày đăng: 17/03/2014, 00:30

Xem thêm

HÌNH ẢNH LIÊN QUAN

Hình 1: tabEdit – Chứa form cập nhật - MVC4Seminar lab3
Hình 1 tabEdit – Chứa form cập nhật (Trang 1)
Hình 2: tabList - Chứa lưới hiển thị danh sách nhà cung cấp  Hoạt động của form - MVC4Seminar lab3
Hình 2 tabList - Chứa lưới hiển thị danh sách nhà cung cấp Hoạt động của form (Trang 2)
w