Web form là một công nghệ lập trình trong ASP.NET cho phép ta tạo ra các trang web có thể lập trình đợc. Chúng biểu diễn thông tin bằng việc sử dụng bất kỳ ngôn ngữ đánh dấu nào và sử dụng các mã lệnh phía server để thực hiện các thành phần phía server.Web form:
. Có thể chạy trên bất cứ browser nào và tự động dịch một cách chính xác, browser – tuân thủ theo mã HTML cho một số chức năng nh styles, layout..
. Có thể lập trình bằng bất cứ ngôn ngữ thực thi (CLR) nào, bao gồm Visual Basic, C# và Jscript .NET.
. Do xây dựng trên CLR và đợc cung cấp tất cả các lợi ích từ công nghệ này, bao gồm một môi trờng thi hành đợc quản lý, kiểu an toàn, tính thừa kế và sự biên dịch động.
. Hỗ trợ các công cụ biên tập kiểu WYSIWYG và các công cụ phát triển RAD mạnh mẽ nh Microsoft Visual Studio .NET, cho việc thiết kế và lập trình các form.
. Cung cấp một bộ công cụ đa năng cho phép các nhà phát triển gói gọn logic trang vào trong các thành phần có thể sử dụng lại và nắm bắt các sự kiện trong trang một cách rõ ràng.
Cho phép phân cách giữa mã và nội dung trong một trang, loại trừ các mã “spaghetti-code” thờng gặp trong các trang ASP.
. Cung cấp một bộ các chức năng quản lý trạng thái để bảo vệ trạng thái nhìn thấy đợc trong trang giữa các lần truy vấn.
. Có thể mở rộng với các control mà ngời dùng tự tạo hay do các nhà cung cấp thứ bạ
2.4.2 Các thành phần của Web form.
Web form phân chia giao diện ngời dùng của các ứng dụng web thành hai phần: thành phần trực quan và giao diện logic ngời dùng. Nếu trớc đây ta đã từng
sử dụng với các công cụ phát triển nhanh nh Microsoft Visual Basic. Microsoft C+ +, ta sẽ nhận thấy sự khác biệt giữa các thành phần của form và phần mã lệnh tơng tác với form.
Giao diện ngời dùng cho các trang Web Form bao gồm một file chứa các thành phần đánh dấu và các thành phần Web form đặc biệt. File này thờng đợc hiểu nh là “trang”.Trang này làm việc nh là một lớp chứa văn bản và các control mà ta muốn hiển thị. Ta có thể sử dụng bất kỳ trình biên tập HTML nào có thêm các Web form server control để đặt lên form. Trang là một file có phần mở rộng “.aspx”.
Giao diện logic ngời dùng cho Web form bao gồm mã lệnh mà ta tạo để tơng tác với form. Ta có thể lựa chọn logic lập trình đợc chứa bên trong file .aspx, hoặc trong một file riêng biệt ( thờng đợc gọi là file mã ẩn- code behind), đợc viết bằng VB, C#. khi ta chạy form, file lớp mã ẩn sẽ chạy kết quả đa ra trang một cách động.
Việc lập trình các ứng dụng Web đối mặt với nhiều thử thách nảy sinh không giống nh khi lập với các ứng dụng client truyền thống. Trong số các thử thách này là:
. Giao diện ngời dùng phong phú. Một giao diện ngời dùng với một số lợng lớn nội dung, một cách bài trí phức tạp, sự tơng tác ngời dùng đẹp mắt có thể gây khó khăn và nhàm chán khi tạo và lập trình nếu sử dụng các tiện ích HTML. Và trở nên đặc biệt khó khi tạo một giao diện ngời dùng cho các ứng dụng có thể chạy trên nhiều trình duyệt khác nhaụ
.Sự phân chia giữa client và server. Trong một ứng dụng web, client (Browser) và server là các chơng trình khác nhau thờng chạy trên các máy tính khác nhau (thậm chí hệ điều hành khác nhau). Do đó hai phần của một ứng dụng chia xẻ rất thông tin; chúng có thể giao tiếp, nhng thông thờng chỉ trao đổi các thông tin đơn giản.
. Sự thi hành phi trạng tháị Khi một Web server nhận một truy vấn cho một trang, nó tìm trang, xử lý chúng, gửi nó tới browser và sau đó không còn lu trữ thông tin gì về trang đó. Nếu ngời dùng truy vấn đến cùng một đó, server lặp lại toàn quá trình xử lý từ đầu, hay nói một cách khác các server không nhớ gì về trang mà chúng đã xử lý. Do đó, nếu một ứng dụng cần duy trì thông tin về một trang, việc này trở thành một vấn đề phải đợc xử lý trên mã ứng dụng.
. Không biết gì về khả năng của client. Trong một số trờng hợp các ứng dụng web đợc tiếp cận bởi nhiều ngời dùng với nhiều trình duyệt khác nhau, làm khó khăn khi hơn khi tạo ra một ứng dụng một cách bình thờng với tất cả chúng.
. Truy xuất dữ liệụ Đọc và ghi vào nguồn dữ liệu trong các ứng dụng web truyền thống thờng rất phức tạp và tập trung nhiều công sức.
Đối mặt với các thử thách này một ứng dụng web cần nhiều thời gian và nỗ lực. Web form là giải pháp để giải quyết các vấn đề nàỵ
. Độc lập với mọi trình duyệt. Tạo mã rõ ràng cho các trình duyệt khác nhaụ Tuy nhiên, nó vẫn cho phép có đợc các lợi ích của các chức năng đặc biệt trong trình duyệt một cách tự động để cải thiện việc trình bàỵ
. Mô hình lập trình sự kiện. Web form mang đến các ứng dụng Web một mô hình để viết các phơng thức cho các sự kiện xảy ra ở phía server cung nh ở client, chuyển giao nó tới server, và việc gọi hander thích đáng là hoàn toàn tự động và trong suốt. Kết quả là cấu trúc mã lệnh thật đơn giản và rõ ràng.
. Mô hình đối tợng nhất quán, trừu tợng, trực quan. Bộ khung web form đa ra một mô hình đối tợng cho phép ta nghĩ đến những form nh là một đơn vị, không là các phần riêng biệt giữa client và server. Trong mô hình Web form ta có thể lập trình một cách trực quan hơn các ứng dụng web truyền thống, bao gồm khả năng thiết lập thuộc tính cho các thành phần của form và đáp trả các sự kiện. Thêm vào đó, Web Form control là một cách nhìn trừu tợng về nội dung vật lý của một trang HTML và của sự tơng tác giữa browser với server. Tóm lại, ta có thể sử dụng Web Form control theo kiểu ta dùng nh các control trong các ứng dụng client thông th-
ờng và không phải nghĩ về việc sinh mã HTMLđể hiển thị và xử lý các control và nội dụng của chúng.
. Quản lý trạng tháị Bộ khung Web Form nắm bắt các tác vụ trong việc duy trì trạng thái của form hay các control trong nó một cách tự động và cung cấp nhiều cách ró ràng để duy trì thông tin ứng dụng đặc biệt.
. Nâng cấp server. Bộ khung Web Form cho phép ta nâng cấp ứng dụng từ một máy tính với bộ xử lý đơn đến một tầng máy tính mà không cần các thay đổi phc tạp trong logic ứng dụng.