intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bắt đầu với ASP.NET

Chia sẻ: Abcdef_44 Abcdef_44 | Ngày: | Loại File: PDF | Số trang:6

140
lượt xem
33
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

SP.NET là một công nghệ dùng để tạo các ứng dụng Web cũng như các trang web động. ASP.NET tương thích và được tích hợp với môi trường .NET. Đây là một công nghệ khác rất nhiều so với ASP. Trước tiên, chúng ta hãy xem xét chúng khác nhau như thế nào. ASP (Active Server Pages) là một công nghệ cho phép chúng ta tạo các trang web động. Một trang ASP là một tập tin HTML trong đó có chứa những đoạn mã script chạy trên server (server – side script) viết bằng VBScript hay Jscript. Khi người...

Chủ đề:
Lưu

Nội dung Text: Bắt đầu với ASP.NET

  1. Bắt đầu với ASP.NET SP.NET là một công nghệ dùng để tạo các ứng dụng Web cũng nh ư các trang web động. ASP.NET t ương thích và được tích hợp với môi tr ường .NET. Đây là một công nghệ khác rất nhiều so với ASP. Tr ước tiên, chúng ta hãy xem xét chúng khác nhau như thế nào. ASP (Active Server Pages) là m ột công nghệ cho phép chúng ta tạo các trang web động. Một trang ASP là một tập tin HTML trong đó có chứa những đoạn mã script chạy trên server (server – side script) viết bằng VBScript hay Jscript. Khi người dùng yêu cầu một trang ASP, máy chủ web sẽ trả về những phần HTML tĩnh trong tập tin ASP và thực thi những đoạn script trong đó, sau đó tạo ra kết quả dưới dạng HTML và trả về cho người dùng.Những vấn đề mà ASP gặp phải là: •Những đoạn script là thông dịch làm chậm đi tốc độ dựng trang. •Mã HTML và mã script trộn lẫn với nhau trong một tập tin ASP. •Chúng ta phải viết mã trong ASP cho m ọi thức kể cả những việc đơn giản như kiểm tra giá trị các tr ường trong một form. ASP.NET giải quyết hầu hết những vấn đề mà ASP gặp phải.Trước hết, các trang ASP.NET là biên dịch. Thứ hai, các trang ASP.NET là có cấu trúc, nghĩa là các đoạn mã script chạy trên server và nội dung HTML không bị trộn lẫn vào nhau. Mã script và HTML có thể tách biệt. ASP.NET cung cấp một chức năng g ọi là code-behind. Chức năng này cho phép ta tách biệt mã script ra khỏi trang web, và đặt nó vào một tập tin khác. Một tập tin .aspx chứa phần HTML của ứng dụng và một tập tin .cs chứa mã lệnh. Chức năng này cho phép một nhóm có thể tập trung vào việc thiết kế HTML trong khi nhóm còn l ại làm việc với những đoạn mã. CÁC WEB FORM Các ứng dụng .NET, hay còn gọi là Web Form, mang đến khả năng RAD (Rapid ApplicationDevelopment – quy trình phát triển ứng dụng nhanh) cho các ứng dụng web. Các web form đ ược tạo ra bằng cách nhúng các control vào trong một form, sau đó nhấp đúp v ào những control đó và viết các thủ tục quản lý sự kiện (event handler) cho chúng. Những control d ùng trong web form được giới thiệu trong th ư viện .NET Framework. Một số control chỉ là dạng đơn giản giống như các thẻ HTML. Trong khi số c òn lại là những đối tượng UI (User Interface – giao diện người dùng) phức tạp. Chúng ta sẽ xây dựng một web form đơn giản để hiểu rõ hơn cách làm việc của một ứng dụng ASP.NET Web Form. Trong ứng dụng này, chúng ta sẽ tạo một trang đăng ký đơn giản cho phép sinh
  2. viên đăng ký một khóa học trực tuyến. THỰC HIỆN Mở Visual Studio .NET. Tạo một ứng dụng ASP.NET tên ‘Registration’ bằng cách chọn ASP.NET Web Application từ danh sách. L àm như vậy, bạn cũng đã tạo ra một thư mục ảo tên là Registration trong IIS và vị trí thực của nó là‘C:\Inetpub\wwwroot\Registration’. Ngay khi chúng ta tạo mộtproject, những tập tin sau đây sẽ đ ược tạo ra trong thư mục Registration: • • • • • Global.aspx: chứa các chỉ thị chương trình ở cấp ứng dụng, các trình quản lý cho ứng dụng, các sự kiện ở cấp phiên làm việc và khai báo cho các đối tượng có thể truy xuất toàn cục đối với ứng dụng. • • • • • Web.config: ch ứa thông tin cấu hình cho ứng dụng dưới dạng XML. • • • • • Webform1.aspx: chứa phần HTML của Web Form. • • • • • Webform1.aspx.cs: ch ứa mã lệnh viết bằng C#.NET. • • • • • AssemblyInfo.cs: ch ứa mã lệnh chuẩn cho phần mô tả về assembly. • • • • • Webform1.disco: mô tả những dịch vụ web dùng trong project. Trong ứng dụng này, chúng ta chỉ quan tâm đến 2 tập tin Webform1.aspx và Webform1.aspx.cs. Sau bước khởi tạo, một web form rỗng sẽ đ ược hiển thị ở chế độ design. Chúng ta sẽ thêm một bảng vào form này. Chọn trình đơn Table, Insert | Table, hộp thoại Insert Table xuất hiện. Chọn số hàng (row) là 11 và số cột (column) là 3. Bạn sẽ thấy một bảng dưới dạng lưới được hiển thị trong form. Bạn chèn thêm các control: label, textbox, validation và button như h ình bên. ---Chi tiết của các control đ ược cho trong bảng dưới đây: - Control Name - TextBox uid - TextBox pass - TextBox cpass - TestBox sname - TextBox address - TextBox state - TextBox zip - TextBox country - TextBox mail
  3. - RadioButtonList course - Button submit Các control (được khoanh tròn) được gọi là validation control.Quá trình khi nào chúng ta nhập thông tin vào trong form và đăng ký với server gọi là postback. Các validation control cung cấp một phương pháp để kiểm tra dữ liệu nhập từ người dùng mà không cần phải viết mã. Khi xảy ra quá trình postback (ví dụ như khi chúng ta kích vào nút Submit Form) mỗi validation control sẽ kiểm tra dữ liệu nhập của control mà nó nhận nhiệm vụ kiểm tra và thay đổi thuộc tính IsValid của nó. Nếu thuộc tính này là false nghĩa là người dùng đã nhập dữ liệu không hợp lệ. Trong tr ường hợp này, một thông báo lỗi sẽ xuất hiện. Nếu l à true thì quá trình postback sẽ xảy ra. Những validation control chúng ta dùng trong ứng dụng này được cho trong bảng sau: - Control - Name - RequiredFieldValidator reqid - CompareValidator compass - RegularExpressionValidator checkmail Textbox pass dùng để nhập vào password. Nhìn chung password không nên hiển thị ra khi người dùng nhập vào (vì lý do bảo mật), do đó chúng ta cần phải thay đổi thuộc tính Textmode của textbox thành Password. Bây gi ờ mỗi khi người dùng nhập vào textbox pass các dấu hoa thị ‘*’ sẽ xuất hiện thay vì các ký tự. Tiếp theo chúng ta cần thay đổi thuộc tính của các validation control. Thay đổi thuộc tính ErrorMessage của control reqid thành dòng thông báo Enter ID, sẽ xuất hiện người dùng không nhập vào User ID (là dòng chữ được khoanh tròn như trong hình trên). Sau đó tương ứng reqid với uid bằng cách thiết lập thuộc tính ControlToValidate của nó thành uid.Tiếp theo thay đổi thuộc tính ControlToValidate của compass thành cpass và thuộc tính ControlToCompare th ành pass. Control này dùng đ ể kiểm tra password trong 2 textbox pass và cpass xem có gi ống nhau hay không. Nếu không giống thì hiện thông báo lỗi Password are not the same. Để thực hiện điều này chúng ta cần thiết lập thuộc tính Errormessage của control này thành dòng thông báo trên.Tương tự, ta thay đổi ErrorMessage của control checkmail th ành dòng thông báo Enter Valid email ID.Thiết lập ControlToValidate thành mail. Ở đây ta cần đảm bảo địa chỉ email ng ười dùng nhập vào phải có dạng thức đúng, do đó chúng ta cần thiết lập thuộc tính RegularExpression của control n ày thành Internet e-mail Format. Chú ý: 3 control vừa nêu tuy đều là validation control nhưng chúng là 3 ki ểu khác nhau và dùng cho 3 m ục đích khác nhau, xin các bạn đừng nên nhầm lẫn.
  4. Trong ứng dụng này, chúng ta sẽ lưu thông tin của các sinh viên vào cơ sở dữ liệu. Do đó mỗi khi sinh viên nhập xong thông tin v à click nút Submit Form, một trình quản lý (handler) cần phải đ ược gọi để ghi những thông tin này vào cơ sở dữ liệu. Thêm sự kiện Add cho nút Submit Form và viết mã như bên dưới: Private void Submit_Click ( Objectsender, System.EventArgs e ) { String constr = @”Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\online.mdb” ; String cmdstr = “SELECT * fromregistration” ; OleDbDataAdapter da ; da = new OleDbDataAdapter (cmdstr, constr ) ; DataSet ds = new DataSet( ) ; DataTable dt = ds.Tables [ “registration” ] ; da.Fill ( ds, “registration” ) ; DataRow row = dt.NewRow( ) ; row[0]= uid.Text ; row[1]= pass.Text ; row[2]= sname.Text ; row[3]= address.Text ; row[4]= state.Text ; row[5]= zip.Text ; row[6]= country.Text ; row[7]= mail.Text ; row[8]=course.SelectedItem.Text; dt.Rows.Add ( row ) ; OleDbCommandBuilder mybuilder ; mybuilder = new OleDbCommandBuilder ( da ) ; da.Update ( ds, “registration” ) ; Response.Redirect ( “Confirm.aspx” ); } Chúng ta dùng OLEDB .NET Data provider theo cách không kết nối (disconnect) và data source là tập tin online.mdb trên ổ đĩa cục bộ. Trong đoạn mã trên, chúng ta đã tạo một connection string, một command string, một đối tượng OleDbDataAdapter và một đối tượng DataSet. Tiếp theo ta sẽ điền đầy DataSet với bảng từ cơ sở dữ liệu và trích xuất trong đối t ượng DataTable tham khảo bởi dt; sau đó tạo một đối t ượng DataRow mới. Chúng ta khởi tạo các
  5. trường dữ liệu t ương ứng với thông tin m à sinh viên đã nhập vào form đăng ký. Tiếp theo ta phải thêm một row vào đối tượng DataTable tham khảo bởi dt; sau đó lại tạo một đối t ượng OleDbCommandBuilder và cập nhật cơ sở dữ liệu bằng phương thức Update(). Cuối cùng chúng ta dùng phương thức tĩnh Redirect() của lớp Response để chuyển sang trang khác tên là Confirm.aspx. Ta có th ể tạo ra trang này bằng cách thêm một Webform vào project, đặt tên là Confirm.aspx và thêm vào dòng thông báo như trong hình bên dưới. BIÊN DỊCH Chúng ta biên dịch chương trình bằng cách chọn Build|Compile. Khi biên dịch các thẻ HTML trong tập tin Webform1.aspx và mã lệnh trong tập tin Webform1.aspx.cs, m ột tập tin trung gian đ ược tạo ra. Tập tin n ày chứa một lớp viết bằng C# và được dẫn xuất từ lớp Webform1. Lớp này được biên dịch thành tập tin Registration.dll. Ở đây chúng ta đã chọn để triển khai các tập tin trên máy cục bộ. Nhưng nếu muốn triển khai chúng trên Web Server, chúng ta cần phải copy các tập tin aspx v à .aspx.cs vào thư mục ảo. Chúng ta cũng có thể copy cả tập tin Registration.dll. Tuy nhiên điều này là không cần thiết lắm, bởi vì tập tin này sẽ được tạo ra ngay khi có yêu cầu đầu tiên. Quá trình biên dịch có thể mô tả bằng hình bên dưới. Chúng ta hãy xem tập tin WebForm1.aspx trong chế độ H TML. Tập tin này chứa các thẻ ASP.NET cho ứng dụng của chúng ta. D òng đầu tiên của tập tin này còn gọi là chỉ thị @page: Ch ỉ thị này định nghĩa các thuộc tính tổn g quát và các thi ết lập biên dịch cho các tập tin aspx. Nó cũng xác định tập tin chứa mã và lớp cơ sở trong đó lớp trung gian đ ược dẫn xuất. GỬI MỘT YÊU CẦU(REQUEST) Bây giờ, nếu người dùng muốn gửi một yêu cầu để thực thi chương trình, thì có thể khởi động trình duyệt và nhập vào địa chỉ URL sau: http://localhost/Registration/ WebForm1.aspx Trình duyệt sẽ gửi một yêu cầu
  6. đến server. Trên server, một đối tượng của lớp đại diện bởi registration.dll sẽ được tạo ra và thủ tục quản lý sự kiện Page_Load() sẽ đ ược gọi. Thủ tục này sẽ tạo ra nội dung HTML trả về cho ng ười dùng. Bây giờ mỗi khi sinh viên nhập thông tin vào form đăng ký và click nút Submit Form, anh ta sẽ nhận được trang web thôngbáo như hình bên.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2