Web User Control

Một phần của tài liệu Bài giảng Lập trình ứng dụng web - Nguyễn Thị Thanh Thuận (Trang 27)

Chương 3 : Master Page, CSS, User Control

3.2. Web User Control

Web User Control là điều khiển do người dùng tự định nghĩa riêng dùng để chức năng hoá (functionality) một control mà không được cung cấp sẵn trong ASP.NET. Ta có thể design và xây dựng giống như một Web Form.

3.2.1 Tạo một Web User Control

Để tạo một Web User ta thực hiện như sau:

1. Trong Solution Explorer, click phải chuột vào Solution chọn Add New Item. 2. Trong hộp thoại Add New Item, chọn Web User Control

3. Nhập vào ô Name tên của tập tin Web User Control. 4. Chọn ngôn ngữ (VB.NET/C#)

28

3.2.2 Sử dụng Web User Control

Kéo thả Web User Control từ Solution Explorer vào trang Web đang thiết kế (chẳng hạn Master Page, Web Form, …)

Chương 4: Các đối tượng trong ASP.NET 4.1. ViewState 4.1. ViewState

Lưu thông tin của mỗi WebForm do Server quản lý, chứa thông tin của tất cả các người dùng trong trang. Khi trả về cho trình khách, ViewState được trình bày dưới dạng thẻ hidden và

có giá trị được mã hóa. Có thể vô hiệu hóa hay cho phép viewstate bằng cách sử dụng thuộc tính EnableViewState trong từng thẻ hay trong trang cấu hình của ứng dụng.

Ví dụ

protected void Page_Load(object sender, EventArgs e) {

if (!IsPostBack)

ViewState["dem"] = 1; else

ViewState["dem"] = (int)ViewState["dem"]+1; Label1.Text = "lần load " +ViewState["dem"]; }

4.2. Response

HttpResponse được dùng để chuyển dữ liệu từ Server về Client

Gởi tất cả thông tin xử lý cho các client, chúng ta có thể sử dụng đối tượng này để giao tiếp với người dùng.

Phương thức

Write: xuất thông tin dạng chuỗi ra trang web, khơng thể qui định vị trí x́t. Redirect: chuyển sang địa chỉ khác.

WriteFile: ghi luồng dữ liệu ra tập tin. Clear, end, flush…

Ví dụ

Response.write (str) Response.write (“str”)

Response.Redirect("abc.aspx")

4.3. Request

HttpRequest được dùng để chuyển dữ liệu từ Client về Server.

Nhận tất cả giá trị mà trình duyệt của client gởi đến server thông qua một yêu cầu HTTP request.

30

Ví dụ 1

<asp:HyperLink ID="HyperLink1" runat="server">HyperLink</asp:HyperLink> protected void Page_Load(object sender, EventArgs e)

{

HyperLink1.NavigateUrl = "a.aspx?x=111&y=222";

}

protected void Page_Load(object sender, EventArgs e) { string i; i = Request.QueryString.Get ("x") ; Response.Write(i+"<br>"); i = Request.QueryString.Get("y"); Response.Write(i); } Ví dụ 2 Response.Write(Request.Browser.Browser + "<br>"); Response.Write(Request.Browser.Version + "<br>"); Response.Write(Request.Browser.Platform + "<br>"); Response.Write(Request.Browser.JavaScript + "<br>"); 4.4. Application

Application được dùng để quản lý tất cả các thông tin của 1 website. Một biến nếu được

khai báo trong 1 trang web, nó sẽ bị hủy ngay khi Server xử lý xong trang này. Để có thể khai báo các biến sử dụng cho nhiều trang hay nhiều lần xử lý trang có thể sử dụng đối tượng

Application. Dữ liệu lưu trong Application sẽ được chia sẽ cho tòan bộ ứng dụng, tòan

bộ người dùng và có thể tồn tại trong cả chu trình sống của website.

4.5. Session

Session được dùng để lưu trữ các thông tin dùng cho một phiên làm việc của một người

dùng. Các biến được lưu trữ trong đối tượng này sẽ không bị hủy khi người dùng chuyển từ trang này sang trang khác. Lưu các thông tin riêng biệt cho từng phiên làm việc. Khi người dùng yêu cầu một trang web từ một ứng dụng, Web server tự động tạo ra một đối tượng

đến Web server sau khoảng thời gian timeout. Dữ liệu lưu trong Session sẽ được chia sẽ cho tòan bộ ứng dụng của 1 người dùng.

Thuộc tính TimeOut: đặt thời gian hết hạn (tính bằng phút, mặc định là 20). Phương thức Abandon: hủy Session hiện hành ngay lập tức.

Tập tin global.asax:

Tập tin này được dùng khi cần khai báo và viết các xử lý cho các sự kiện của biến

Application, Session.

<%@ Application Language="C#" %>

<script runat="server">

void Application_Start(object sender, EventArgs e) {

// Code that runs on application startup }

void Application_End(object sender, EventArgs e) {

// Code that runs on application shutdown }

void Session_Start(object sender, EventArgs e) {

// Code that runs when a new session is started }

void Session_End(object sender, EventArgs e) {

// Code that runs when a session ends.

}

</script>

4.6. Cookies

Cookies là đối tượng mà Server dùng để lưu thông tin người dùng ngay tại máy Client dưới dạng tập tin. Ví dụ if (Request.Browser.Cookies == true) { if (Request.Cookies["LastVisit"] == null) {

HttpCookie cookie = new HttpCookie("LastVisit", DateTime.Now.ToString());

cookie.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(cookie);

Label2 .Text = "Đây là lần đầu tiên bạn truy cập website này"; }

32

{

HttpCookie cookie = Request.Cookies["LastVisit"];

Label2.Text = "Lần cuối bạn truy cập là" + cookie.Value;

Response.Cookies["LastVisit"].Value = DateTime.Now.ToString(); Response.Cookies["LastVisit"].Expires = DateTime.Now.AddDays(1); } } else {

Label2.Text = "Trình duyệt khơng hỗ trợ cookie"; }

4.7. Server

Đối tượng Server thuộc lớp HttpServerUtility cung cấp các phương thức dùng cho việc xử lý các yêu cầu từ phía Server.

* Các thuộc tính

STT Tên thuộc tính Mơ tả Ví dụ

1

MachineName

Trả về tên của máy tính server

Lấy tên của máy tính server:

string sComputerName;

sComputerName = Server.MachineName;

2

ScriptTimeout

Gán hoặc trả về thời gian tối đa nhận yêu cầu (request) từ client (tính bằng giây)

Đặt giá trị thời gian tối đa nhận yêu cầu từ client là 60 giây Server. ScriptTimeout = 60; * Các phương thức quan trọng STT Tên phương thức Mô tả Ví dụ 1 MapPath Trả về đường dẫn vật lý của thư mục ảo (virtual directory) trên máy chủ web

Lấy đường dẫn vật lý của thư mục ảo MyWebSite trên máy chủ web:

String FilePath; FilePath =

2

UrlEncode

Mã hoá chuỗi địa chỉ URL dùng cho việc truyền từ máy chủ Web đến client thơng qua giao thức HTTP.

Ví dụ minh hoạ việc mã hoá chuỗi địa chỉ URL trước khi gửi chuỗi địa chỉ này cho trình duyệt web ở client. Chẳng hạn, MyURL được mã hoá thành "http%3a%2f%2fwww.abc.com%2far ticles.aspx%3ftitle+%3d+ASP.NE T+Examples" String MyURL; MyURL = "http://www.abc.com/articles.a spx?title = ASP.NET Examples"; Response.Write( "<A HREF = " + Server.UrlEncode(MyURL) + "> ASP.NET Examples <br>" );

3

UrlDecode

Giải mã chuỗi được mã hoá từ giao thức HTTP và gửi cho server bằng địa chỉ URL.

Ví dụ minh hoạ việc giải mã chuỗi

EncodedString (được nhận trong địa

chỉ URL) sang chuỗi

DecodedString String DecodedString = Server.UrlDecode(EncodedString ); 4 Transfer

Ngừng thực thi trang web hiện hành và bắt đầu thực thi (mở) một trang web mới.

Có chức năng tương tự như: Response.Redirect.

Tuy nhiên,

Server.Transfer chỉ

dùng để mở 1 trang web mới trong cùng website với trang web hiện tại.

Mở trang Index.aspx

34

4.8. Exception

- Exception là lớp đối tượng dùng để bẩy lỗi trong suốt quá trình thực thi ứng dụng

(Windows, Web).

- Khi một lỗi xuất hiện trong khi thực thi ứng dụng, thì hệ thống cũng như ứng dụng đang thực thi sẽ thông báo thông tin về lỗi thông qua Exception.

- Exception thường kết hợp với lệnh try…catch - Thuộc tính quan trọng:

+ Message: Cho biết mơ tả thơng tin về lỗi.

Ví dụ: Xây dựng trang web tính bình phương của 1 số ngun.

Trang .aspx:

<asp:Label ID="Label1" runat="server" Text="n:"></asp:Label> <asp:TextBox ID="txt_n" runat="server"></asp:TextBox><br />

<asp:Button ID="btn_TinhBinhPhuong" runat="server" Text="Bình phương" OnClick="btn_TinhBinhPhuong_Click" /><br />

<br />

<asp:Label ID="lb_KetQua" runat="server"></asp:Label></div>

Trang .aspx.cs

protected void btn_TinhBinhPhuong_Click(object sender, EventArgs e) { string s; int n; int kq; try { s = txt_n.Text;

//chuyển từ chuỗi sang số nguyên n = int.Parse(s);

//bình phương kq = n * n;

//xuất kết quả

lb_KetQua.Text = kq.ToString(); }

catch (Exception ex) {

//Nếu xảy ra lỗi thì xuất thơng báo lỗi lb_KetQua.Text = ex.Message;

} }

36

Chương 5: Kết nối dữ liệu với ADO.NET 5.1. Giới thiệu 5.1. Giới thiệu

Đối tượng ADO.NET được thiết kế như một công nghệ truy xuất dữ liệu không kết nối và phân phối dựa trên chuẩn XML, tăng tốc độ truy cập và thao tác dữ liệu trong môi trường đa lớp (N-Tier). Hai thành phần chính là đối tượng DataSet và .NET Provider.

ADO.NET chia làm hai loại: lớp kết nối Connected Layer và lớp không kết nối Disconnected Layer, hai lớp này được sử dụng song song trong cùng ứng dụng, thao tác trên CSDL như SQL Server, My SQL, MS Access, Oracle và cơ sở dữ liệu phân cấp khác.

Khi muốn sử dụng các đối tượng này, tùy vào loại nguồn dữ liệu cần khai báo: using System.Data.OleDb;

using System.Data.SqlClient;

Trong phần này chúng ta sẽ làm các ví dụ trên bảng dữ liệu

5.2. Các đối tượng trong ADO.NET

5.2.1. Connection

Thiết lập kết nối giữa ứng dụng với nguồn dữ liệu

Ví dụ 1

string ChuoiKetNoi;

ChuoiKetNoi = "provider=microsoft.jet.oledb.4.0;Data Source=" + _ Server.MapPath("App_Data\\db1.mdb");

OleDbConnection c =new OleDbConnection (ChuoiKetNoi); c.Open ();

Ví dụ 2

string ChuoiKetNoi;

ChuoiKetNoi = "server=localhost;UID=;PWD=;database=Sach;Integrated

Security=True;";

SqlConnection c =new SqlConnection (ChuoiKetNoi ); c.Open ();

5.2.2. Command

Thực thi các câu lệnh SQL hay Stored Procedure …

5.2.2.1 Thuộc tính

Connection: chứa đối tượng kết nối CommandText: chứa câu lệnh SQL Parameters: tập hợp các tham số

5.2.2.2 Phương thức

ExecuteReader: trả về đối tượng DataReader, đọc dữ liệu từng

dòng trực tiếp từ nguồn.

ExecuteScalar: thi hành câu truy vấn và chỉ trả về 1 giá trị của cột

đầu tiên của dòng đầu tiên.

ExecuteNonQuery: gọi thi hành các câu truy vấn Insert, Update,

Delete và trả về số dịng chịu tác động (nếu khơng có thì trả về -1) hoặc gọi thi hành các Stored Procedure không có dữ liệu trả về

nhưng có thể có các tham số đầu ra.

Ví dụ

string ChuoiKetNoi;

ChuoiKetNoi = "provider=microsoft.jet.oledb.4.0;Data Source=" + _ Server.MapPath("App_Data\\db1.mdb");

OleDbConnection c =new OleDbConnection (ChuoiKetNoi ); c.Open ();

string ChuoiTruyVan;

ChuoiTruyVan = "select count(*) from ThanhVien"; OleDbCommand m = new OleDbCommand();

m.Connection = c; m.CommandText = ChuoiTruyVan; int n; n = (int)m.ExecuteScalar(); Response.Write("số dòng dữ liệu:" + n); 5.2.3. DataReader

Là lớp chỉ đọc và dữ liệu đọc theo một chiều. Tiết kiệm bộ nhớ vì tại một thời điểm chỉ lưu trữ một mẫu tin. Phương thức Read dùng đọc mẫu tin, nó tự động chuyển đến mẫu tin kế tiếp cho đến khi không cịn mẫu tin nào, khơng có khái niệm định hướng EOF/BOF/Next/Previos…

Thường được dùng để hiển thị dữ liệu ra màn hình 1 lần, kiểm tra dữ liệu có tồn tại hay khơng.

Ví dụ 1

string ChuoiKetNoi;

ChuoiKetNoi = "provider=microsoft.jet.oledb.4.0;Data Source=" + Server.MapPath("App_Data\\db1.mdb");

OleDbConnection c =new OleDbConnection (ChuoiKetNoi ); c.Open ();

string ChuoiTruyVan;

ChuoiTruyVan="select * from ThanhVien"; OleDbCommand m=new OleDbCommand(); m.Connection =c; m.CommandText =ChuoiTruyVan ; OleDbDataReader d; d=m.ExecuteReader(); while (d.Read()) { Response.Write("<br>Tên: "); Response.Write(d["Ten"].ToString ()); } d.Close(); Ví dụ 2

38

string ChuoiKetNoi;

ChuoiKetNoi = "server=localhost;UID=;PWD=;database=Sach;Integrated

Security=True;";

SqlConnection c =new SqlConnection (ChuoiKetNoi ); c.Open ();

string ChuoiTruyVan;

ChuoiTruyVan="select * from NhaXuatBan"; SqlCommand m=new SqlCommand();

m.Connection =c; m.CommandText =ChuoiTruyVan ; SqlDataReader d; d=m.ExecuteReader(); while (d.Read()) { Response.Write("<br>Tên: "); Response.Write(d["TenNXB"].ToString ()); } d.Close();

Ví dụ 1 truy xuất dữ liệu Access, ví dụ 2 truy xuất dữ liệu SQLServer, so sánh sự khác nhau?

5.2.4. DataAdapter

Kết nối nguồn dữ liệu và điền dữ liệu vào bộ nhớ thường trú DataSet.

Thuộc tính: SelectCommand, InsertCommand, UpdateCommand, DeleteCommand tương ứng các phát biểu SQL dùng để thao tác dữ liệu trên DataSet.

Phương thức Fill: thực thi SelectCommand và điền dữ liệu vào đối tượng DataSet.

Phương thức Update: gọi đối tượng Command để thực thi InsertCommand, UpdateCommand, DeleteCommand.

5.2.5. DataSet

DataSet được xem như ảnh của một nguồn dữ liệu thu nhỏ có khả năng hoạt động độc lập khi ngắt kết nối. DataSet có thể chứa các bảng (DataTable), view (DataView), quan hệ (Relations), ràng buộc (Contraints) như một Database thật sự.

5.2.6. DataTable 5.2.7. DataView

5.3. Kết nối dữ liệu trong ASP.NET

protected void Lưu_Click(object sender, EventArgs e) {

string ChuoiKetNoi;

ChuoiKetNoi = "provider=microsoft.jet.oledb.4.0;Data Source=" + Server.MapPath("App_Data\\db1.mdb");

OleDbConnection c = new OleDbConnection(ChuoiKetNoi); c.Open();

string ChuoiTruyVan;

OleDbCommand m = new OleDbCommand(); m.Connection = c;

m.Parameters.Add("a1",t1.Text); m.Parameters.Add("a2",t2.Text); m.Parameters.Add("a3",t4.Text); if (t5.Text == "")

ChuoiTruyVan = "insert into ThanhVien(Ten,MatKhau,Email)

values(a1,a2,a3)";

else {

m.Parameters.Add("a4", t5.Text); ChuoiTruyVan = "insert into

ThanhVien(Ten,MatKhau,Email,SoDangKy) values(a1,a2,a3,a4)"; } m.CommandText = ChuoiTruyVan; try { m.ExecuteNonQuery(); c.Close(); Response.Redirect("KetNoiDuLieuAccess.aspx"); }

catch (Exception ex) {

Response.Write("THÔNG BÁO LỖI" + ex.Message); }

c.Close(); }

LƯU Ý: TRÙNG KHĨA CHÍNH 5.3.2. Xố

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack) {

string ChuoiKetNoi;

ChuoiKetNoi = "provider=microsoft.jet.oledb.4.0;Data Source=" + Server.MapPath("App_Data\\db1.mdb");

40

c.Open();

string ChuoiTruyVan;

ChuoiTruyVan = "select * from ThanhVien"; OleDbCommand m = new OleDbCommand(); m.Connection = c;

m.CommandText = ChuoiTruyVan;

OleDbDataAdapter a = new OleDbDataAdapter(); a.SelectCommand = m;

DataSet d = new DataSet(); a.Fill(d); DropDownList1.DataTextField = "Ten"; DropDownList1.DataValueField = "Ten"; DropDownList1.DataSource = d; DropDownList1.DataBind(); c.Close(); } }

protected void Xoa_Click(object sender, EventArgs e)

{

string t=DropDownList1.SelectedValue; string ChuoiKetNoi;

ChuoiKetNoi = "provider=microsoft.jet.oledb.4.0;Data Source=" + Server.MapPath("App_Data\\db1.mdb");

OleDbConnection c = new OleDbConnection(ChuoiKetNoi); c.Open();

string ChuoiTruyVan;

ChuoiTruyVan = "delete * from ThanhVien where Ten=a1"; OleDbCommand m = new OleDbCommand();

m.Connection = c; m.Parameters.Add("a1", t); m.CommandText = ChuoiTruyVan; try { m.ExecuteNonQuery(); c.Close(); Response.Redirect("KetNoiDuLieuAccess.aspx"); }

catch (Exception ex) {

Response.Write("THÔNG BÁO LỖI" + ex.Message); }

c.Close(); }

protected void HienThi_Click(object sender, EventArgs e) { Lưu.Visible = false; CapNhat.Visible = true; t1.Enabled = false; string t = DropDownList1.SelectedValue; string ChuoiKetNoi;

ChuoiKetNoi = "provider=microsoft.jet.oledb.4.0;Data Source=" + Server.MapPath("App_Data\\db1.mdb");

OleDbConnection c = new OleDbConnection(ChuoiKetNoi); c.Open();

string ChuoiTruyVan;

ChuoiTruyVan = "select * from ThanhVien where Ten=a1"; OleDbCommand m = new OleDbCommand();

m.Connection = c; m.Parameters.Add("a1", t); m.CommandText = ChuoiTruyVan; OleDbDataReader d; d = m.ExecuteReader(); while (d.Read()) { t1.Text =d["Ten"].ToString(); t4.Text = d["Email"].ToString(); t5.Text = d["SoDangKy"].ToString(); } d.Close(); c.Close(); }

protected void CapNhat_Click(object sender, EventArgs e) {

string ChuoiKetNoi;

ChuoiKetNoi = "provider=microsoft.jet.oledb.4.0;Data Source=" + Server.MapPath("App_Data\\db1.mdb");

OleDbConnection c = new OleDbConnection(ChuoiKetNoi); c.Open();

string ChuoiTruyVan;

ChuoiTruyVan = "update ThanhVien set Email=a1,SoDangKy=a2 where

Ten=a3";

OleDbCommand m = new OleDbCommand(); m.Connection = c; m.Parameters.Add("a1", t4.Text); m.Parameters.Add("a2", t5.Text); m.Parameters.Add("a3", t1.Text); m.CommandText = ChuoiTruyVan; try { m.ExecuteNonQuery(); c.Close(); Response.Redirect("KetNoiDuLieuAccess.aspx"); }

42

catch (Exception ex) {

Response.Write("THÔNG BÁO LỖI" + ex.Message); }

c.Close(); }

Chương 6: Điều khiển liên kết dữ liệu 6.1. Giới thiệu 6.1. Giới thiệu

6.2. GridView

Cho phép hiển thị dữ liệu dạng bảng, kết quả xuất ra trình duyệt là thẻ <table>. Có thể: phân trang; sắp xếp từng cột dữ liệu; chọn, xóa, cập nhật từng dòng dữ liệu.

Tạo 1 GridView: Toolbox->nhấp đôi chuột vào GridView Tạo nguồn dữ liệu cho GridView

Bước 3: Chọn AccessData để kết nối với file dữ liệu Access->OK Bước 4: Đường dẫn đến file dữ liệu->Next

Bước 1: nhấp chuột

44

Bước 5: Chọn cách lấy dữ liệu ->Next

Bước 6: Có thể Kiểm tra thử dữ liệu lấy được->Finish

Hiệu chỉnh cách hiển thị dữ liệu:

Định dạng hình thức: chọn Auto Format… hoặc Properties->Styles Định dạng nội dung: Chọn Edit Columns…

Thuộc tính DataFormatString: (Lưu ý thuộc tính HTMLEncode) Ví dụ: DataFormatString="{0:dd/MM/yy}"

Sắp xếp dữ liệu theo cột

Gán thuộc tính của GridView: AllowSorting=True

Gán thuộc tính của các cột muốn sắp xếp: SortExpression=”TênCột”

Phân trang dữ liệu

Gán thuộc tính của GridView: AllowPaging=True, PageSize=”số lượng mẫu tin trong 1 trang”

Thẻ PagerSettings: định dạng hình thức hiển thị Position=Top/Bottom/TopandBottom

Mode=Numeric/NumericFirstLast/NextPrevious/NextPreviousFirstLast PageButtonCount =”số trang hiển thị tối đa, nếu số trang nhiều hơn số này thì sẽ hiển thị từng phần”

6.3. DataList

DataList control là điều khiển dùng để hiển thị dữ liệu trên Web, khi sử dụng DataList control chúng ta phải tự thiết kế cách thức hiển thị dữ liệu.

46

6.3.1. Các thành phần của DataList

<html>

<body>

<form runat="server">

<asp:DataList id="myDataList" runat="server">

<HeaderTemplate> ... </HeaderTemplate> <ItemTemplate> ... </ItemTemplate> <FooterTemplate> ... </FooterTemplate> </asp:DataList> </form> </body> </html>

6.3.2. Tạo điều khiển DataList

6.3.3. Tạo nguồn dữ liệu cho DataList dùng AccessDataSource

Bước 1: nhấp chuột Bước 2: chọn

48

Bước 3: Chọn AccessData để kết nối với file dữ liệu Access->OK Bước 4: Đường dẫn đến file dữ liệu->Next

Bước 5: Chọn cách lấy dữ liệu ->Next

Bước 6: Có thể Kiểm tra thử dữ liệu lấy được->Finish

Thiết kế giao diện trong vùng ItemTemplate

6.3.5. Liên kết dữ liệu cho các thành phần trong DataList

50

Thực hiện tương tự như trên đối với Mật khẩu, email, số đăng ký.

<asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1"> <ItemTemplate> <br /> <table border="1"> <tr> <td style="width: 86px">

<asp:Label ID="Label1" runat="server" Text="Tên"></asp:Label></td> <td style="width: 100px">

<asp:Label ID="lb_Ten" runat="server"

Text='<%# Eval("ten") %>'></asp:Label></td>

</tr> <tr>

<td style="width: 86px">

<asp:Label ID="Label2" runat="server" Text="Mật khẩu"> </asp:Label></td>

<td style="width: 100px">

<asp:Label ID="lb_MatKhau" runat="server"

Text='<%# Eval("matkhau") %>'></asp:Label></td>

</tr> <tr>

<td style="width: 86px; height: 21px"> <asp:Label ID="Label3" runat="server" Text "Email"></asp:Label></td> <td style="width: 100px; height: 21px">

<asp:Label ID="lb_Email" runat="server"

Text='<%# Eval("email") %>'></asp:Label></td>

</tr> <tr>

<td style="width: 86px">

<asp:Label ID="Label4" runat="server" Text="Số đăng ký"></asp:Label></td> <td style="width: 100px">

<asp:Label ID="lb_SoDangKy" runat="server"

Text='<%# Eval("sodangky") %>'></asp:Label></td>

</tr> </table>

</ItemTemplate> </asp:DataList>

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/db1.mdb"

SelectCommand="SELECT `ten`, `matkhau`, `email`, `sodangky` FROM `ThanhVien`"

UpdateCommand="UPDATE `ThanhVien` SET `matkhau` = ?, `email` = ?, `sodangky` = ? WHERE `ten` = ?">

<UpdateParameters>

<asp:Parameter Name="matkhau" Type="String" /> <asp:Parameter Name="email" Type="String" /> <asp:Parameter Name="sodangky" Type="Int32" /> <asp:Parameter Name="ten" Type="String" /> </UpdateParameters>

52

Kết quả:

6.3.6. Lập trình sử dụng DataList

Ví dụ:

Xây dựng trang web nghe nhạc đơn giản với cơ sở dữ liệu cho sẵn Hãy thực hiện các yêu cầu sau sử dụng DataList control:

a) Hiển thị danh sách tất cả bài hát (DSBaiHat.aspx) b) Hiển thị chi tiết thông tin bài hát (CTBaiHat.aspx) Cơ sở dữ liệu:

a) Hiển thị danh sách tất cả bài hát (DSBaiHat.aspx)

Một phần của tài liệu Bài giảng Lập trình ứng dụng web - Nguyễn Thị Thanh Thuận (Trang 27)

Tải bản đầy đủ (PDF)

(105 trang)