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

Bài tập lập trình ASP.NET pptx

33 411 2
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài tập lập trình asp.net pptx
Trường học Trường Đại Học Thể Giới Bộ Môn CNTT
Chuyên ngành Information Technology
Thể loại Bài tập
Định dạng
Số trang 33
Dung lượng 3,03 MB

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

Nội dung

3.1: Yêu cầu xử lý:– Khi mở trang: sự kiện Load Sử dụng t.t Text của Label Chuỗi giá trị gán cho t.tính trên có chứa các tag HTML định dạng văn bản , , – Liên kết đến các trang bá

Trang 1

BỘ MÔN CNTT

-oOo- BÀI TẬP LẬP TRÌNH ASP.NET

Bài 1: Tổng quan về ASP.NET

1.1: Tạo mới 1 Project

1.2: Tạo trang Chao.aspx

Trang 2

Bài 2: HTML Server Control

2.1: Hồ sơ đăng ký

Trang 3

2.2: Upload tập tin

Trang 4

Bài 3: Web Server Control

3.1: Đọc báo

Trang 6

3.3: Album các loài hoa

3.4: Đơn đặt hàng

Trang 8

3.4: Phiếu ý kiến người tiêu dùng

Trang 9

3.6: Bài tập các điều khiển cơ bản

Trang 10

3.7: Thông tin đăngnhập

Trang 12

3.8: Tìm quân cờ

Trang 13

3.9: Lịch để bàn

Trang 14

3.10: Upload và xem tập tin

Trang 15

3.11: Hồ sơ đăng ký

Trang 18

HƯỚNG DẪN GIẢI BÀI TẬP ASP.NET

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

– Sự kiện Server_Click

– Dùng t.t Value của các điều khiển nhập liệu

– Dùng thuộc tính InnerHTML của đk Div

– Chuỗi giá trị gán cho t.tính trên có chứa các tag HTML định dạng văn bản (<i>, <li>, )

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

Nút Upload :

– Sự kiện Server_Click:

 Upload tập tin:

 Nhận đường dẫn và tên tập tin từ Client: tt PostedFile.FileName

 Lấy tên tập tin : pt System.IO.Path.GetFileName

 Copy tập tin lên server: pt PostedFile.SaveAs

 Xuất danh sách tập tin:

 Khai báo thư mục truy xuất (Upload): kiểu Directory hoặc lớp

System.IO.DirectoryInfo

 Truy xuất các tập tin trong thư mục này: pt GetFiles

Trang 19

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

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

 Sử dụng t.t Text của Label

 Chuỗi giá trị gán cho t.tính trên có chứa các tag HTML định dạng văn bản (<b>,

<ul>, <li> )– Liên kết đến các trang báo:

 Sử dụng thuộc tính NavigateURL và Target

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

Nút Thay đổi câu chào:

 Thuộc tính OnClientClick: Dùng ngôn ngữ JavaScript để hỏi người sử dụng

 Sự kiện Click

 Thuộc tính Text của Label

 Giá trị chuỗi gán cho t.t trên có chứa các tag HTML định dạng văn bản (<b>, <i>, …)

Trang 20

 Gán giá trị tt ImageURL của Image và tt Text của Lable: Sử dụng dụng tt

SelectedIndex và Items của ListBox3.4:  Yêu cầu xử lý:

– Nút :

 Kiểm tra Số lượng: dùng hàm Val

 Thêm vào Danh sách bánh được đặt:tt SelectedIndex, Items và pt Items.Add của ListBox

 Chuỗi gía trị có chứa các tag HTML định dạng văn bản và tag tạo bảng

Lưu ý: duyệt các mục trong ListBox để lấy tên bánh và số lượng : tt Items của ListBox

và các pt cắt chuỗi như LastIndexOf, SubString

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

– Xây dựng thủ tục Xuất danh sách tiêu chuẩn bình chọn tương ứng với các sản phẩm:

 Khai báo biến lưu trữ Danh sách tiêu chuẩn: kiểu ArrayList | SortedList | Hashtable

 Kiểm tra sản phẩm được chọn để thêm các tiêu chuẩn tương ứng vào biến trên: dùng tt SelectedIndex của RadioButtonList và pt Add của biến trên

 Liên kết giá trị của biến trên với điều khiển BulletedList: sử dụng tt DataSource và

Trang 22

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

– Điều khiển RegularExpressionValidator:

ValidationExpression=[\d|\w|!|&|_]{8}[\d|\w|!|&|_]+

– Khi nhấn nút :

 Sử dụng t.t Text của Label

 Chuỗi giá trị gán cho t.tính trên có chứa các tag HTML định dạng văn bản (<b>,

<ul>, <li> )3.8:  Yêu cầu xử lý:

 Khi mở trang, tạo bàn cờ:

o Khai báo 2 biến lưu trữ dòng, cột đựơc tạo: kiểu TableRow và TableCell

Trang 23

Rows(chỉ số) của đk Table

 Duyệt các ô trên dòng hiện hành và xác định ô hiện hành: dùng tt

Cells.Count và Cells(chỉ số) của đk dòng

 Kiểm tra nếu dòng và ô hiện hành bằng với 2 biến trên thì:

+ Khai báo biến lưu trữ đối tượng hình: kiểu

System.Web.UI.WebControls.Image

+ Lần lượt gán các giá trị cho tt hình ảnh, định danh, kiểu, rê chuột

Attributes(“style”), Attributes(“onmouseover”), Attributes(“onmouseout”), Attributes(“onclick”)

+ Thêm đối tượng hình vào ô hiện hành: pt Controls.Add(<đt hình>)

của ô hiện hành3.9:  Yêu cầu xử lý:

– Các khai báo dùng chung trong trang:

 Định nghĩa kiểu dữ liệu (User-Defined Type - UDT) có 2 thành phần là Ngày và Ghi chú: cấu trúc Structure

 Khai báo mảng dùng chung, lưu trữ các ngày cần ghi nhớ: kiểu ArrayList, các phần tử có kiểu UDT

– Khi mở trang:

 In ngày hiện hành: các pt của đối tượng Date và hàm DateSerial

 Tạo danh sách các ngày cần ghi nhớ: dùng pt Add của đt mảng, kết hợp với biến kiểu UDT

 Duyệt mảng và kiểm tra từng phần tử: có thể viết hàm

 Nếu hợp lệ thì thêm vào mảng: pt Add của ArrayList

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

− Khi chọn nút :

 Kiểm tra đk FileUpload có chứa tập tin chưa: tt HasFile

 Nếu có:

o Chép lên thư mục Upload: pt SaveAs của đk FileUpload

o Xuất các tập tin trong thư mục Upload ra ListBox:

Trang 24

 Xác định thư mục Upload trên server: khai báo biến thuộc lớp

DirectoryInfo

 Duyệt tập hợp các tập tin và xuất ra: pt GetFiles của biến trên

− Khi chọn nút Upload tập tin:

 Kích họat View thứ nhất: tt ActiveViewIndex của đk MultiView

− Khi chọn nút Xem các tập tin được upload:

 Kích họat View thứ hai: tt ActiveViewIndex của đk MultiView

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

− Khi chọn nút :

 Sự kiện FinishButtonClick

 Thuộc tính Text của Label

 Giá trị chuỗi gán cho t.t trên có chứa các tag HTML định dạng văn bản (<ul>, <li>,

<i>, …)3.12:  Yêu cầu xử lý:

− Sự kiện Load của trang:

 Khai báo 2 biến ViewState dùng để lưu trữ số lượng và tên sản phẩm được chọn

 Biến lưu trữ tên sản phẩm có kiểu ArrayList

− Khi chọn Danh sách sản phẩm:

 Kiểm tra sản phẩm: pt Contains của ArrtayList

 Tăng số sản phẩm lên 1 và xuất ra màn hình: tt DataSource và pt DataBind của BulletedList

− Khi nhấn nút :

 Gán lại giá trị mặc định cho 2 biến ViewState

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

– Liên kết dữ liệu của bảng KHACH_HANG với GridView:

 Khai báo biến có kiểu lớp xử lý khách hàng (XL_KHACH_HANG)

 Xử dụng tt DataSource và pt DataBind

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

– Liên kết dữ liệu của bảng SACH với GridView:

Trang 25

 Liên kết dữ liệu, kết hợp với tt e.SortExpression

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

− Liên kết dữ liệu của bảng KHACH_HANG với GridView:

 Khai báo biến có kiểu lớp xử lý khách hàng (XL_KHACH_HANG)

 Xử dụng tt DataSource và pt DataBind

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

° DataImageUrlField: tên field hình

° DataFormatString: ~/<tên TM chứa hình>/{0}.jpg

° ButtonType: Image

° ImageUrl: ~/<tên TM chứa hình>/<tên tập tin hình>

° CommandName: khai báo giá trị (tên nút)

– Gán giá trị cho thuộc tính CommandArgument của điều khiển LinkButton:

 Sự kiện RowDataBound của đk GridView

 Kiểm tra dòng đang duyệt là dòng dữ liệu không? : tt e.Row.RowType

 Nếu đúng thì tìm tới điều khiển LinkButton và gán giá trị cho tt

CommandArgument của nút này: pt e.Row.FindControl(”tên nút”) và tt

Datakeys(e.Row.RowIndex).Value của GridView– Khi chọn Tên sách:

 Sự kiện RowComand của đk GridView

 Xác định giá trị khóa của dòng được chọn: tt e.CommandArgument

 Dùng giá trị khóa vừa tìm được để truy xuất dữ liệu vùng Mô tả và xuất ra màn hình

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

Trang 26

– Nhấn nút : tt SelectedRowStyle và chọn màu cho tt BackColor và ForeColor (khi thiết kế)

– Khi nhấn nút :

 Sự kiện RowDeleting

 Lấy giá trị Mã NXB: tt <GridView>.DataKeys(e.RowIndex).Value

 Kiểm tra giá trị trên đã có trong bảng SACH chưa?, nếu có thì xuất câu thông báo, ngược lại thì hủy dòng hiện hành và liên kết dữ liệu cho lưới

 Kiểm tra giá trị của ô Tên nhà xuất bản, nếu hợp lệ thì cập nhật vào bảng

NHA_XUAT_BAN dựa vào các giá trị trên và giá trị khóa chính (Mã NXB)

 Trả về trạng thái ban đầu

Trang 27

này: pt e.Item.FindControl, các tt DataSource, DataTextField, DataValueField và pt

DataBind của BulletedList4.11:  Yêu cầu xử lý:

– Các nút Hiệu chỉnh, Cập nhật và Bỏ qua:

 Sự kiện ItemCommand

 Kiểm tra nút được nhấn: tt e.CommandName

 Là nút Hiệu chỉnh: xác định dòng chỉnh sửa: tt EditItemIndex

 Là nút Bỏ qua: trả về trạng thái ban đầu

 Là nút Cập nhật: tìm đk Mô tả và Đơn giá để lấy giá trị Cập nhật 2 vùng Mo_ta

 Liên kết dữ liệu

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

– Liên kết nguồn DL Sách với GridView:

 Sự kiện ItemDataBound của DataList

 Kiểm tra dòng hiện hành có phải là dòng đang chỉnh sửa?: tt e.Item.ItemType,

nếu thỏa

 Tạo nguồn Sách thỏa điều kiện là các sách thuộc chủ đề hiện hành: tt

<DataList>.DataKeys(e.Item.ItemIndex)

 Tìm đk GridView và liên kết nguồn DL trên: pt e.Item.FindControl, tt

DataSource và pt DataBind của GridViewLưu ý: dùng AccessDataSource thì không cần viết đọan code này

– Nút [+] và [-] :

 Sự kiện ItemCommand của DataList

 Kiểm tra nút được chọn: tt e.CommandName

o Là nút [+] : xác định dòng chỉnh sửa và liên kết dữ liệu với DataList:

– Nút Sửa, Không, Thêm: Sự kiện ItemCommand

 Kiểm tra nút được nhấn: tt e.CommandName

o Là nút Sửa, thay đổi tình trạng của DetalisView là chỉnh sửa và liên kết dữ liệu:

Trang 28

– Nút Cập nhật: Sự kiện ItemUpdating

 Nhận giá trị các ô: CType(<DetailsView>.Rows(c.số).Cells(1).Controls(0),

TextBox).Text Kiểm tra Tên Nhà xuất bản, nếu không rỗng

o Nhận giá trị khóa: <DetailsView>.DataKey.Value

o Cập nhật vào bảng NHA_XUAT_BAN theo giá trị các ô, thỏa điều kiện Mnxb

− 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

 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

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

Trang 29

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 = @Ms4.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ông tin giỏ hàng:

Trang 30

 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">

Trang 31

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

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"

Ngày đăng: 22/06/2014, 06:20

TỪ KHÓA LIÊN QUAN

w