Trả về trạng thái ban đầu và liên kết dữ liệu

Một phần của tài liệu Bài tập lập trình ASP.NET pptx (Trang 28 - 33)

– Nút Ghi: sự kiện ItemInserting

Tương tự như xử lý của nút Cập nhật nhưng thêm mới một mẫu tin vào bảng NHA_XUAT_BAN

− Nút Hủy: sự kiện ItemDeleting

Kiểm tra quan hệ dựa trên Mã NXB hiện hành: e.DataKey.Value, nếu hợp lệ

Xóa dòng hiện hành

Lưu ý: dùng AccessDataSource thì không cần viết đọan các code trên

Sử dụng AccessDataSource

– Thao tác thêm mới, cập nhật và hủy: không cần viết code xử lý

− Kiểm tra Tên Nhà xuất bản không được rỗng trước khi cập nhật: dùng tt e.NewValues.Item(0) trong sự kiện ItemUpdating

− Kiểm tra Tên Nhà xuất bản không được rỗng trước khi thêm mới: tt e.Values.Item(0) trong sự kiện ItemInserting

4.17: Yêu cầu xử lý:

– Các nút trong cột Mã sách:

Sự kiện RowCommand

Xác định chỉ số dòng được chọn: tt e.CommandArgument

Xác định giá trị khóa chính (Ms) của dòng hiện hành: tt <GridView>.DataKeys(chỉ số).Value

Liên kết dữ liệu với DetailsView dựa vào khóa chính

Lưu ý: dùng AccessDataSource thì thay đổi tt SelectCommand, câu lệnh SQL có đk lọc cũng dựa trên giá trị khóa chính của dòng hiện hành

Mnxb, Mcd, Ngay_cap_nhat ) VALUES(?, ?, ?, ?, ?, ?, Date() )

UpdateQuery: UPDATE SACH SET Ten_sach =?, Don_gia = ?, Mo_ta =?,

Hinh_minh_hoa =?, Mnxb =?, Mcd=?, Ngay_cap_nhat=Date() WHERE Ms = @Ms

4.20: Yêu cầu thiết kế:

– Điều khiển AccessDataSource dùng làm nguồn DL cho FormView:

SelectQuery:SELECT * FROM [KHACH_HANG]

DeleteQuery: DELETE FROM KHACH_HANG WHERE Mkh = @Mkh

InsertQuery:INSERT INTO KHACH_HANG(Ho_ten, Dia_chi, Dien_thoai,

Ten_dang_nhap, Mat_khau, Ngay_sinh, Gioi_tinh, Email) VALUES (?, ?, ?, ?, ?, ?, ?, ?)

UpdateQuery: UPDATE KHACH_HANG SET Ho_ten = ?, Dia_chi = ?, Dien_thoai = ?, Ten_dang_nhap = ?, Mat_khau = ?, Ngay_sinh = ?, Gioi_tinh = ?, Email = ?

WHERE Mkh = @Mkh

6.1: Yêu cầu xử lý:

– Danh sách Chủ đề: (khi thiết kế)

Thuộc tính NavigateUrl: "~/Man_hinh/Bai6_1.aspx?Mcd=" & Eval("Mcd")

Thuộc tính Text: Eval(”Ten_chu_de”)

– Danh sách Sách:

Sự kiện Load

Kiểm tra tham số Mã chủ đề (Mcd) của trang: Request.QueryString(”Mcd”)

Nếu khác rỗng thì liên kết dữ liệu với DataList có điều kiện lọc theo giá trị của tham số trên

Ngược lại thì không cần điều kiện

– Khai báo 2 biến Session dùng để lưu trữ Tổng số tiền và Thông tin các sách được chọn mua (Mã sách, Tên sách, ...): kiểu số và kiểu ArrayList trong sự kiện Session_Start của tập tin Global.asax

– Xây dựng một lớp có tên XL_GIO_HANG, có các thông tin lưu trữ như sau: Mã sách, Tên sách, Đơn giá, Số lượng và Thành Tiền

– Nút :

Sự kiện ItemCommand của DataList

Kiểm tra nút nhấn: e.CommandName

Tính tổng số tiền: Tìm đk Đơn giá và cập nhật biến Session Tổng số tiền Định nghĩa một đối tượng lưu trữ thông tin sách: khai báo biến kiểu

XL_GIO_HANG và tìm các đk chứa thông tin sách

Kiểm tra Mã sách đã trong giỏ hàng chưa?. Nếu chưa thì thì thêm đối tượng trên vào biến Session Thông tin sách, ngược lại thì tăng số lượng lên 1

Thể hiện Tổng tiền:

Sự kiện PreRender của User Control

Xuất giá trị của biến Session Tổng số tiền ra điều khiển Label 6.2: Yêu cầu xử lý:

– Nguồn dữ liệu cho GridView: dùng biến Session Thông tin các sách

– Nút Sửa, Ghi, Không: thao các cập nhật xử lý trên mảng (là biến Session trên) – Nút :

Sự kiện RowCommand

Duyệt mảng và hủy phần tử tại vị trí có chỉ số tương ứng với chỉ số dòng có đk CheckBox được chọn: pt <GridView>.Rows(chỉ số).FindControl(“tên CheckBox") và pt RemoveAt(chỉ số) của mảng

– Cập nhật giá trị cho điều khiển Tổng thành tiền và Tổng mặt hàng:

Sử dụng 2 biến Session Tổng thành tiền và Thông tin các sách Cài đặt code trong thủ tục Liên kết dữ liệu (nếu có thủ tục này) 6.3: Yêu cầu xử lý:

– Thể hiện nội dung chi tiết sách:

Sự kiện Load của trang Default

Định nghĩa một đối tuợng: kiểu System.Web.UI.Control

Kiểm tra tham số Mã sách của trang: Request.QueryString(“Ms”)

Nếu khác rỗng, thể hiện UC Nội dung chi tiết sách: pt Page.LoadControl(“Tên và đường dẫn của UC”)

Ngược lại, thể hiện UC Danh sách Sách

Thêm đối tượng trên vào trang: <PlaceHolder>.Controls.Add(đối tượng trên) 6.6: Yêu cầu xử lý:

Nội dung tập tin Web.sitemap dùng làm nguồn cho điều khiển TreeView: <?xml version="1.0"encoding="utf-8" ?>

<siteMapxmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNodetitle="Trang chủ"description="Trang chủ"url="~/Man_hinh/Bai6_6.aspx"> <siteMapNodetitle="Bài 2" description="Bài tập số 2" >

<siteMapxmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNodeurl="~/Man_hinh/Bai6_5.aspx" title="Home" description="Trang chủ"> <siteMapNodetitle="Tham khảo" description="Các trang web tham khảo về ASP.Net" > <siteMapNodeurl="http://www.w3schools.com/aspnet/default.asp"title="Hướng dẫn học ASP.Net" description="Bài 6.1" />

<siteMapNodeurl="http://msdn2.microsoft.com/en-us/library/ms644563.aspx"

title="Xây dựng ứng dụng Web với ASP.Net" description="Bài 6.3" />

</siteMapNode> …

</siteMapNode> </siteMap>

Khai báo 2 tập tin .sitemap trong tập tin web.config: <system.web>

<siteMapdefaultProvider="TreeViewXmlSiteMapProvider"> <providers>

<add name="TreeViewXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

siteMapFile="Web.sitemap"/>

<add name="MenuXmlSiteMapProvider"type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

siteMapFile="Menu.sitemap"/>

</providers> </siteMap>

……….. </system.web> 6.7: Yêu cầu thiết kế:

– Tạo tập tin Default.skin trong thư mục App_Themes\Default

Khai báo Default Skin: <asp:TreeView NodeStyle-Font-Names="Verdana" NodeStyle-Font-Size="10pt" NodeStyle-ForeColor="Black" RootNodeStyle-Font-Bold="true" ParentNodeStyle-Font-Italic="true" ParentNodeStyle-Font-Underline="true" NodeIndent="10"

runat="server" />

Khai báo Named Skin:

<asp:TreeView SkinId="Bookstore" NodeStyle-Font-Names="Verdana" NodeStyle-Font-Size="10pt" NodeStyle-ForeColor="Black" RootNodeStyle-Font-Bold="true" ParentNodeStyle-Font-Italic="true" ParentNodeStyle-Font-Underline="true" NodeIndent="10" runat="server" /> Yêu cầu xử lý:

– Khai báo tt Theme ="Default“ trong định hướng @Page của trang

– Khi thay đổi mục chọn DropDownList:

Sự kiện Page_PreInit

Gán giá trị được chọn của đk DropDownList cho t.tính SkinID của điều khiển TreeView:

<TreeView>.SkinID = Request.Form(”Tên DropDownList”) 7.1: Yêu cầu thiết kế:

– Cấu trúc của tập tin Chu_de.xml gồm 1 node gốc và các node con

– Các node con gồm có 2 thuộc tính: Mcd và Ten_chu_de <?xmlversion="1.0" encoding="utf-8" ?> <TAI_LIEU>

<CHU_DEMcd="3"Ten_chu_de="Tiếng Việt"> </CHU_DE> ....

° Duyệt tập hợp các thuộc tính của node con: khai báo biến kiểu XmlAttribute và dùng tt Attributes của node con

+ Tạo mới một ô và khai báo thuộc tính giá trị cho ô

+ Thêm ô mới vào dòng mới

° Thêm dòng mới vào Table 7.3: Yêu cầu xử lý:

– Khi mở trang: sự kiện Load

Khai báo đối tượng tài liệu XML: kiểu XmlDocument

Đọc tập tin Chu_de.xml: pt Load

Xuất nội dung của tập tin trên ra đk Menu

Khai báo node gốc và node con: kiểu XmlElement

Xác định node gốc: tt DocumentElement của đối tượng tài liệu XML

Duyệt tập hợp các node con có trong node gốc: tt ChildNodes

° Tạo 1 mục mới trên thực đơn: khai báo kiểu MenuItem

° Duyệt tập hợp các thuộc tính của node con: kiểu XmlAttribute

+ Kiểm tra và lần lượt khai báo các tt cần thiết cho mục mới của thực đơn: <MenuItem>.Value, <MuneItem>.Text

và <XmlAttribute>.InnerText

° Xác định hình ảnh và URL của mục mới: <MenuItem>.ImageUrl và NavigateUrl

° Thêm mục mới vào điều khiển Menu: <Menu>.Item.Add(<mục mới>) 7.4: Yêu cầu thiết kế:

– Điều khiển XmlDataSource:

Thuộc tính DataFile: khai báo tập tin Chu_de.xml

– Điều khiển GridView:

Một phần của tài liệu Bài tập lập trình ASP.NET pptx (Trang 28 - 33)