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

Bài 4 Công nghệ ASP.NET ppt

45 244 0

Đ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

Định dạng
Số trang 45
Dung lượng 315,79 KB

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

Nội dung

Lê đình Thanh, Công nghệ ASP.NETđối tượng Response Ớ đối tượng Response ựược sử dụng ựể sinh ra HTTP response Ớ Mỗi trang .aspx ựều chứa ựối tượng Response như một thuộc tắnh ựược kế thừ

Trang 1

Lê đình Thanh, Công nghệ ASP.NET

Lê đình Thanh

Bộ môn Mạng và Truyền thông Máy tắnh Khoa Công nghệ Thông tin Trường đại học Công nghệ, đHQGHN

Bài giảng

LẬP TRÌNH ỨNG DỤNG WEB

Công nghệ ASP.NET

Bài 4

Trang 2

Lê đình Thanh, Công nghệ ASP.NET

Ớ Nội dung trang web (HTML + CSS +

JavaScript) ựược Web Server sinh ra khi có yêu cầu từ Client.

Ớ Rất phổ dụng: Hầu hết các trang web thương mại ựều là web ựộng.

Ớ Sử dụng ngôn ngữ lập trình ựa năng ựể sinh ra nội dung web.

Ớ Sử dụng CSDL.

Trang 3

Lê đình Thanh, Công nghệ ASP.NET

Kiến trúc web ựộng

Web ựộng với CSDL

CSDL

Web Server

Web

Browser

Database Provider

Trang 4

Lê đình Thanh, Công nghệ ASP.NET

Công nghệ phát triển Web (ựộng)

Ớ đa dạng và không ngừng ựược phát triển.

ASP.NET

Cơ bản về NET Framework

và ASP.NET

Trang 5

Lê đình Thanh, Công nghệ ASP.NET

Kiến trúc Net Framework

Base Class Library Common Language Specification

Common Language Runtime

ADO.NET: Data and XML

ASP.NET: Web Services

and Web Forms

Windows Forms Visual Basic ệ C++ C# JScript ệ Ầ

Assembly

IL Code

Assembly

IL Code Assembly

IL Code

Operating System Services

Common Language Runtime

Trang 6

Lê đình Thanh, Công nghệ ASP.NET

Thực thi chương trình NET

Trang 7

Lê đình Thanh, Công nghệ ASP.NET

Thực thi ngôn ngữ chung

Trang 8

Lê đình Thanh, Công nghệ ASP.NET

Trang 9

Lê đình Thanh, Công nghệ ASP.NET

ASP.NET Ờ đặc ựiểm

Ớ Hướng ựối tượng: Mỗi trang bao gồm hai

ựối tượng kế thừa nhau.

Ớ Tách mã giao diện (HTML) với mã xử lý

Ớ ⇒ Dễ viết chương trình, tìm lỗi.

Ớ ⇒ Giấu ựược mã (mã ựược dịch thành

DLL).

đối tượng Request

Ớ đối tượng Request nắm giữ HTTP request và cung cấp các phương thức xử lý HTTP request.

Ớ Mỗi trang aspx ựều chứa ựối tượng Request như một thuộc tắnh ựược kế thừa.

Ớ Lấy ựối tượng Request bằng lệnh this.Request

Ớ Hai thuộc tắnh và phương thức quan trọng nhất của ựối tượng Request là:

Ờ Lấy URL của tài liệu ựược yêu cầu:

this.Request.RawURL

Ờ Lấy giá trị các tham số ựược truyền cùng URL:

this.Request.QueryString.Get(Ộten_thamsoỢ);

Trang 10

Lê đình Thanh, Công nghệ ASP.NET

Request Ờ Nhận giá trị tham số (1)

Ớ Giả sử các tham số ựược truyền cùng URL là

Request Ờ Nhận giá trị tham số (2)

Ớ Giả sử các tham số trên form thuộc trang

Nhap.aspx ựược truyền cùng URL theo phương thức POST là

Ớ <form action = ỘKiemtra.aspxỢ>

Ờ <input type = ỘtextỢ name = ỘhotenỢ width = Ộ200Ợ> Ờ <input type = submit value = ỘChap nhanỢ>

Trang 11

Lê đình Thanh, Công nghệ ASP.NET

đối tượng Response

Ớ đối tượng Response ựược sử dụng ựể sinh ra

HTTP response

Ớ Mỗi trang aspx ựều chứa ựối tượng Response như một thuộc tắnh ựược kế thừa.

Ớ Lấy ựối tượng Response bằng lệnh this.Response

Ớ Hai phương thức quan trọng nhất của ựối tượng Response là:

Ờ Viết ra nội dung trang HTML:

và truyền hai tham số có tên là cid, id cùng giá trị các tham số tương ứng là 10 và 123.

Trang 12

Lê đình Thanh, Công nghệ ASP.NET

ASP.NET Ờ đặc ựiểm (2)

Ớ Các ựiều khiển phắa Server (server-side controls).

Ờ được lưu trữ và quản lý trên Server

Ờ Khi server xử lý, mỗi ựiều khiển phắa server sinh ra một

ựiều khiển HTML (ựiều khiển phắa client) rồi ựược gửi

sang client.

Ờ Vắ dụ:

Ớ <asp:Button id="Button1" runat="server" Text="Tìm

kiếm"></asp:Button>

Khi ựược xử lý sinh ra ựiều khiển nút bấm HTML

Ớ <input type = ỘbuttonỢ name = ỘButton1Ợ id = ỘButton1Ợ value

= ỘTìm kiếmỢ>

ASP.NET Ờ đặc ựiểm (3)

Ớ Các ựiều khiển phắa Server (server-side controls)

Ờ AutoPostBack cho từng ựiều khiển: Tự ựộng ựệ trình form chứa lên server khi giá trị của ựiều khiển thay ựổi Khi form ựược tự ựộng ựệ trình lên server, server xử lý rồi lại tự ựộng gửi trang trở lại client.

Ớ <asp:CheckBox id="CheckBox1" runat="server"

AutoPostBack="True" ></asp:CheckBox>

Ờ để kiểm tra trang ựược tải (load) lần ựầu hay do

PostBack (gửi lại), chúng ta sử dụng thuộc tắnh

IsPostBack của trang

Ớ Nếu IsPostBack == false, trang ựược tải lần ựầu

Ớ Ngược lại, trang ựược gửi lại.

Trang 13

Lê đình Thanh, Công nghệ ASP.NET

phắa server có AutoPostBack = true

Yêu cầu lần thứ nhất

Trang kết quả xử lý

Tương tác với

ựiều khiển

trên giao diện

Trang với trạng thái

ựiều khiển ựã thay ựổi

lập trình phắa server ( Dễ cài ựặt )

Ớ Tuy nhiên, client không phát huy hết tác dụng xử

lý (hạn chế )

Ớ Trang liên tục ựược chuyển ựi, chuyển lại giữa client và server => truyền thông tốn kém + không thân thiện với người dùng ( nháy, không liên tục ).

Trang 14

Lê đình Thanh, Công nghệ ASP.NET

Thuộc tắnh trang IsPostBack

Ớ IsPostBack là thuộc tắnh của

System.Web.UI.Page là lớp cớ sở của bất

kỳ trang nào

Ớ IsPostBack = false: trang ựược tải lần ựầu

Ớ IsPostBack = true: trang ựược tải lại ở các lần hai, ba, Ầ

Ớ Thường sử dụng IsPostBack trong phương thức Page_Load ựể khởi tạo trạng thái ban

ựầu của trang.

Sự kiện Page_Load

Ớ Load là sự kiện ựược phát sinh khi trang ựược tải

về (load)

Ớ Ở mỗi trang, phương thức

private void Page_Load(object sender, System.EventArgs e)

tự ựộng ựược gọi ựể ựáp ứng sự kiện Load.

Trang 15

Lê đình Thanh, Công nghệ ASP.NET

Tạo giao diện trong ASP.NET

Ớ Sử dụng các ựiều khiển phắa server, bắt sự

trình, chương trình hoạt ựộng nặng nề )

Ờ điều khiển hiển thị

Ờ điều khiển nhập liệu

Ờ điều khiển kiểm tra

Ớ Hoặc sử dụng các ựiều khiển phắa client

chương trình hoạt ựộng nhẹ nhàng )

Các ựiều khiển phắa server

Ớ điều khiển nội tại

Ờ ánh xạ trực tiếp ựến các phần tử HTML ựơn giản

Ớ điều khiển danh sách

Ờ trình bày các mục dữ liệu ở dạng danh sách

Ớ điều khiển ựa năng

Ờ tạo các thành phần ựiều khiển có giao diện phức tạp

Ớ điều khiển kiểm tra

Ờ kiểm tra sự hợp thức trong nhập liệu Khi thực thi, mỗi ựiều khiển phắa server sinh ra

một/một số phần tử HTML tương ứng + javascript kèm theo (nếu có)

Trang 16

Lê đình Thanh, Công nghệ ASP.NET

điều khiển phắa server và phần tử HTML+javascript do chúng sinh ra

1 <asp:Button id=ỘmyidỢ text=ỘButton textỢ

3 <asp:ImageButton id= ỖsomeIdỖ

ImageURL=Ợimage file nameỢ OnClick=Ợ

Lê đình Thanh, Công nghệ ASP.NET

7 <asp:CheckBox id =ỢsomeIdỢ Text=Ợsome

GroupName=Ợgroup nameỢ Text=Ợsome

textỢ Checked = ỘTrue/FalseỢ

Trang 17

Lê đình Thanh, Công nghệ ASP.NET

.Items.Add(ListItem item) Ờ thêm mục mới

.Items.Add(ỘvalueỢ, ỘtextỢ) Ờ thêm mục mới

.SelectedItem.Text - tên của mục ựược chọn

.SelectedValue Ờ giá trị của mục ựược chọn

.SelectedName Ờ tên của mục ựược chọn

10 <asp:Image id = Ộsome idỢ ImageURL=Ợimage

file nameỢ AlternateText=Ợtitle textỢ

runat=ỢserverỢ />

<image src=Ợimage file nameỢ title=Ợtitle textỢ>

11 <asp:Label Text=Ợlabel textỢ runat=ỢserverỢ <span>label text </span>

.SelectedValue Ờ giá trị của mục ựược chọn

.SelectedName Ờ tên của mục ựược chọn

10 <asp:Image id = Ộsome idỢ ImageURL=Ợimage

file nameỢ AlternateText=Ợtitle textỢ

<span>label text </span>

12 <asp:Panel id=ỢsomeIdỢ runat=ỢserverỢ /> <div>label text </div>

<ImageURL>image file </ImageURL>

<TargetUrl> url </TargetUrl>

<AlternateText> title text </AlternateText>

<Keyword>a word </Keyword>

<Captain>some text</Captain>

</Ad>

<Ad>

<ImageURL>image file </ImageURL>

<TargetUrl> url </TargetUrl>

Nhiều phần tử HTML và hàm javacsript

ựược tạo

Trang 18

Lê đình Thanh, Công nghệ ASP.NET

Lê đình Thanh, Tạo trang web ựộng

<ImageURL>image file </ImageURL>

<TargetUrl> url </TargetUrl>

<AlternateText> title text </AlternateText>

<Keyword>a word </Keyword>

<Captain>some text</Captain>

</Ad>

<Ad>

<ImageURL>image file </ImageURL>

<TargetUrl> url </TargetUrl>

<AlternateText> title text </AlternateText>

<Keyword>a word </Keyword>

<ImageURL>image file </ImageURL>

<TargetUrl> url </TargetUrl>

<AlternateText> title text </AlternateText>

<Keyword>a word </Keyword>

<Captain>some text</Captain>

</Ad>

<Ad>

<ImageURL>image file </ImageURL>

<TargetUrl> url </TargetUrl>

<AlternateText> title text </AlternateText>

<Keyword>a word </Keyword>

Trang 19

Lê đình Thanh, Công nghệ ASP.NET

Ớ ASP.NET có các ựiều khiển chuyên dùng

ựể kiểm tra nhập liệu.

Ờ Mỗi ựiều khiển kiểm tra nhập liệu ( trừ ựiều khiển

dữ liệu ựược nhập vào một ựiều khiển nhập liệu

chắ nào ựó ( buộc phải nhập, dữ liệu nhập phải nằm trong ựoạn nào ựó, dữ liệu nhập không thể là chữ, Ầ)

điều khiển nhập liệu

Trang 20

Lê đình Thanh, Công nghệ ASP.NET

điều khiển kiểm tra nhập liệu

Dữ liệu nhập phải nằm trong khoảng nào ựó

Dữ liệu nhập phải thỏa quy tắc miêu tả/

cú pháp nào ựó

Tự ựịnh nghĩa hàm kiểm tra

errorMessage = Ộ Thong bao loi neu khong nhap Ợ

display = Ộstatic|dynamic|noneỢ runat=server>

</asp: RequiredFieldValidator>

Trang 21

Lê đình Thanh, Công nghệ ASP.NET

errorMessage = Ộ Thong bao loi neu bieu thuc so sanh sai Ợ

display = Ộstatic|dynamic|noneỢ runat=server>

errorMessage = Ộ Thông báo lỗi nếu giá trị nhập ngoài khoảng Ợ

display = Ộstatic|dynamic|noneỢ runat=server>

</asp: Range Validator >

Trang 22

Lê đình Thanh, Công nghệ ASP.NET

validationExpression = Ộ Biểu thức mô tả ựịnh dạng dữ

khong nhap Ợ display =

Ớ Kiểm tra dữ liệu ựược nhập bằng một hàm tự ựịnh nghĩa

<asp: CustomValidator id=ỘmyREVỢ

controlToValidate = Ộ id_dieu_khien_duoc_kiem_tra Ợ

onServerValidationFunction = ỘHàm kiểm tra trên Server, bằng C# hay VB.NETỢ

onClientValidationFunction = Ộ Hàm kiểm tra trên Client, bằng JavaScript Ợ errorMessage = Ộ Thong bao loi neu khong nhap Ợ

display = Ộstatic|dynamic|noneỢ runat=server>

</asp: CustomValidator >

Trang 23

Lê đình Thanh, Công nghệ ASP.NET

Thuộc tắnh Page.isValid

Ớ Ban ựầu Page.isValid = true

Ớ Nếu các ựiều khiển kiểm tra bắt ựược lỗi, chúng sẽ ựặt

Trang 24

Lê đình Thanh, Công nghệ ASP.NET

Ớ System.Data.Odbc Các lớp làm việc với

CSDL thông qua ODBC

Ớ System.Data.OleDb Các lớp làm việc với

CSDL thông qua OLEDB

Ớ System.Data.SqlClient Các lớp làm việc với CSDL SQL Server

Ớ System.Data.SqlTypes Các lớp ựịnh kiểu dữ liệu SQL

Trang 25

Lê đình Thanh, Công nghệ ASP.NET

Publishers

Trang 26

Lê đình Thanh, Công nghệ ASP.NET

Ớ String sConn = Ộ server =ATTA; database =Daotao; uid =sa; pwd =sa;Ộ;

Ớ SqlConnection m_Conn = new SqlConnection(sConn);

Ớ m_Conn.Open();

Ớ Dùng _Connection ựể kết nối CSDL

Ớ đặt thuộc tắnh _Command.Connection là kết nối ựã mở

Ớ đặt kiểu lệnh và nội dung lệnh cho

_Command CommandType và _Command CommandText

Ớ Tạo các tham số _Parameter và thêm vào

ựối tượng _Command

Ớ Thực thi _Command ExecuteNonQuery()

Trang 27

Lê đình Thanh, Công nghệ ASP.NET

Quy trình cập nhật dữ liệu Ờ Vắ dụ

String sConn = Ộserver=ATTA; database=Daotao ;uid=sa ;pwd=sa;Ợ;

SqlConnection m_Conn = new SqlConnection(sConn);

Ớ đặt thuộc tắnh _Command.Connection là kết nối ựã mở.

Ớ đặt kiểu lệnh và nội dung lệnh cho _Command

CommandType và _Command CommandText.

Ớ Tạo các tham số _Parameter và thêm vào ựối tượng

_Command.

Ớ Tạo ựối tượng _DataAdapter và chỉ ựịnh thuộc tắnh

.SelectCommand là ựối tượng _Command.

Ớ Gọi _DataAdapter.Fill() ựể ựiền kết quả truy vấn

Trang 28

Lê đình Thanh, Công nghệ ASP.NET

Quy trình truy vấn dữ liệu Ờ Vắ dụ

String sConn = Ộserver=ATTA; database=Daotao ;uid=sa ;pwd=sa;Ợ;

SqlConnection m_Conn = new SqlConnection(sConn);

SqlDataAdapter da= new SqlDataAdapter(m_Cmd);

DataSet m_DataSet = new DataSet();

da.Fill(m_DataSet, "Sinhvien");

DataTable m_Sinhvien = new DataTable();

m_Sinhvien = m_DataSet.Tables[0];

m_MaSinhvien = m_Sinhvien.Rows[m_BanghiHientai]["maSinhvien"].ToString();m_HoSinhvien = m_Sinhvien.Rows[m_BanghiHientai]["hoSinhvien"].ToString();m_TenSinhvien = m_Sinhvien.Rows[m_BanghiHientai]["tenSinhvien"].ToString();m_Ngaysinh =

Convert.ToDateTime(m_Sinhvien.Rows[m_BanghiHientai]["ngaysinh"].ToString())

DataReader

Ớ Khi chỉ cần mở một truy vấn, duyệt một lần kết quả truy vấn mà không phải tạo nhiều DataTale, chúng ta có thể sử dụng DataReader

Ớ DataReader chứa các bản ghi dưới dạng danh sách

Ờ Thực thi câu lệnh và ựưa dữ liệu vào

Trang 29

Lê đình Thanh, Công nghệ ASP.NET

Trang 30

Lê đình Thanh, Công nghệ ASP.NET

Lấy dữ liệu từ tệp XML

Ớ Mở tệp tài liệu XML

FileStream fs = new FileStream(Ộabc.xmlỢ,

FileMode.Open, FileAccess.Read);

StreamReader srd = new StreamReader(fs);

Ớ đọc tài liệu vào DataSet

DataSet ds = new DataSet();

ựọc nguồn dữ liệu và

tự ựộng sinh mã giao diện

Trang 31

Lê đình Thanh, Công nghệ ASP.NET

Ràng buộc dữ liệu Ờ Data Bind

đ iều khiển giao diện

(DropDownList CheckBoxList RadioButtonList DataList DataGrid Repeater Template)

Ớ Ý tưởng: Gắn một tập dữ liệu

ựược chứa ở một nguồn nào ựó

(mảng, danh sách, bảng dữ

liệu, Ầ) vào một ựiều khiển

giao diện, ASP.NET tự ựộng

xử lý các khâu còn lại ựể hiển

DropDownList1 DataSource = m_Table;

DropDownList1 DataTextField = "tenLop";

DropDownList1 DataValueField = "maLop";

DropDownList1 DataBind() ;

%>

<asp:DropDownList id=ỘDropDownList1Ợ runat=server/>

this.Response.Write(DropDownList1.SelectedItem.Value);this.Response.Write(DropDownList1.SelectedItems.Text);

Trang 32

Lê đình Thanh, Công nghệ ASP.NET

CheckBoxList1 DataSource = m_Table;

CheckBoxList1 DataTextField = "tenLop";

CheckBoxList1 DataValueField = "maLop";

this.Response.Write(CheckBoxList1.Items[i].Value);this.Response.Write(CheckBoxList1.Items[i].Text);}

RadioButtonList1 DataSource = m_Table;

RadioButtonList1 DataTextField = "tenLop";

RadioButtonList1 DataValueField = "maLop";

this.Response.Write(RadioButtonList1.Items[i].Value);this.Response.Write(RadioButtonList1.Items[i].Text);}

Trang 33

Lê đình Thanh, Công nghệ ASP.NET

Mẫu hiển thị - Template

ựiều khiển giao diện

và ràng buộc dữ liệu DataGrid, DataList, Repeater ựể các ựiều khiển này hiển thị dữ liệu theo mẫu

Trang 34

Lê đình Thanh, Công nghệ ASP.NET

DataList

Ớ Ràng buộc dữ liệu và hiển thị dữ liệu ựược ràng buộc dưới dạng danh sách.

<asp:DataList id="DataList1" runat=ỘserverỢ

RepeatDirection = Horizontal RepeatColumns = 4>

Lưới dữ liệu Ờ DataGrid

Ớ Dùng ựể ràng buộc dữ liệu và hiển thị dưới dạng bảng

<asp:DataGrid id=Ộdtgrid1Ợ GridLine=ỘNoneỢ

Trang 35

Lê đình Thanh, Công nghệ ASP.NET

Ớ để thay ựổi các cột như tiêu ựề các cột, thứ tự hiển thị các cột, chúng ta tắt chế ựộ tự ựộng sinh cột của DataGrid và dùng <asp:BoundColumn> của DataGrid ựể ựịnh nghĩa cột của bảng.

<asp:DataGrid id=Ộdtgrid1Ợ runat=ỘserverỢ

Ớ Theo mặc ựịnh, dữ liệu ựược hiển thị ở dạng văn bản.

Ớ Sử dụng mẫu cột <asp:TemplateColumn> và <_Template>

ựể thay ựổi cách hiển thị nội dung của cột.

<asp:DataGrid id=ỘMyGridỢ AutoGenerateColumns = ỘfalseỖ runat=ỘserverỢ>

Trang 36

Lê đình Thanh, Công nghệ ASP.NET

Ớ Dùng <asp:EditCommandColumn> ựể ựịnh nhãn cho các nút lệnh

Trang 37

Lê đình Thanh, Công nghệ ASP.NET

Ớ Chỉ ựịnh các hàm sự kiện cập nhật dữ liệu

< asp:DataGrid id=ỘMyGridỢ runat=ỘserverỢ

OnEditCommand = Ộ Ham_Xuly_Khi_Chon_Suadoi Ợ OnUpdateCommand = ỘHam_Xuly_Khi_Chon_CapnhatỢ OnCancelCommand = ỘHam_Xuly_Khi_Ch_Bo_CapnhatỢ DataKeyField = ỘTruong_Khoa_Cac_Banghi_DulieuỢ AutoGenerateColumn = ỘfalseỢ>

Ớ Thiết kế hàm ựể ràng buộc dữ liệu vào DataGrid,

vắ dụ hàm này tên là BindGrid().

Trang 38

Lê đình Thanh, Công nghệ ASP.NET

MyGrid.DataKeys[e.Item.ItemIndex] là khóa của bản ghi ựược sửa.

BindGrid(); //ràng buộc lại dữ liệu vào khung lưới }

Ớ Có thể sử dụng <ButtonColumn> tạo nút chọn xóa.

< asp:DataGrid id=ỘMyGridỢ runat=ỘserverỢ OnDeleteCommand =

Ngày đăng: 11/08/2014, 09:25

HÌNH ẢNH LIÊN QUAN

Bảng dữ liệu, …) - Bài 4 Công nghệ ASP.NET ppt
Bảng d ữ liệu, …) (Trang 31)

TỪ KHÓA LIÊN QUAN

w