class Program
{
static void Main(string[] args)
{
sv[] a = new sv[100]; int i, n; Console.WriteLine("Nhap so luong SV:"); n=Convert.ToInt32(Console.ReadLine()); for (i = 0; i < n; i++)
{
a[i] = new sv();
Console.WriteLine("Nhap thong tin SV thu " + (i + 1)); Console.Write("t Nhap ho ten:"); a[i].ht = Console.ReadLine(); Console.Write("t Nhap dia chi:"); a[i].dc = Console.ReadLine();
Console.Write("t Nhap diem toan:"); a[i].dt = Convert.ToInt32(Console.ReadLine());
}
Có thể bạn quan tâm!
- Lập trình trên nền Web - 4
- Lập trình trên nền Web - 5
- Tìm Và Sửa Lỗi Chương Trình Sau Class Baitap3_4
- Yêu Cầu Xử Lý Phía Server Qua Script
- Minh Họa Sử Dụng Điều Khiển Htmlanchor
- Minh Họa Sử Dụng Điều Khiển Htmlinputfile
Xem toàn bộ 285 trang tài liệu này.
Console.WriteLine("Thong tin sinh vien"); for (i = 0; i < n; i++)
{
Console.WriteLine(a[i].ht + "t" + a[i].dc + "t" + a[i].dt);
}
Console.ReadLine();
}
}
}
17. Xây dựng lớp nhân viên gồm các thuốc tính: Mã nhân viên, tên nhân viên, năm sinh, hệ số lương và các phương thức Nhập, Hiển thị. Viết chương trình nhập thông tin của n nhân viên sau đó hiển thị các thông tin này ra màn hình.
18. Chương trình sau đây bị lỗi. Hãy xác định lỗi có thể phát sinh ngoại lệ khi chạy chương trình. Và viết lại chương trình hoàn chỉnh gồm các lệnh xử lý ngoại lệ.
using System; public class Tester
{
public static void Main()
{
uint so1=0; int so2, so3;
so2 = -10;
so3 = 0;
// tính giá trị lại so1 -= 5;
so2 = 5/so3;
// xuất kết quả
Console.WriteLine("So 1: {0}, So 2:{1}", so1, so2);
}
}
19. Chương trình sau đây có thể dẫn đến ngoại lệ hay không? Nếu có thì hãy cho biết ngoại lệ có thể được phát sinh. Hãy viết lại chương trình hoàn chỉnh có xử lý các ngoại lệ bằng cách đưa ra thông điệp về ngoại lệ được phát sinh.
using System; using System.IO; public class Tester
{
public static void Main()
{
string fname = "test3.txt"; string buffer;
StreamReader sReader = File.OpenText(fname); while ( (buffer = sReader.ReadLine()) !=null)
{
Console.WriteLine(buffer);
}
}
}
CHƯƠNG 3: LÀM VIỆC VỚI WEB FORM
3.1. ASP.NET và Web Form
3.1.1. Mô hình lập trình phía máy chủ
Trong thế giới Web, tất cả các giao tiếp giữa Client (trình duyệt) và Server (máy chủ Web) đều được thực hiện theo cơ chế “Request and Response”. Tức là, trước tiên phía máy khách cần phải “Requesst” (gửi yêu cầu) tới Server sau đó phía chủ sẽ “Response” (phúc đáp) lại yêu cầu.
Cùng một cơ chế này người ta có hai cách tiếp cận để xử lý “Request trang Web” từ máy khách.
Cách 1: Khi máy khách yêu cầu một trang ví dụ trang Web abc thì máy chủ sẽ đọc toàn bộ nội dung của trang và gửi về cho phía máy khách mà không thực hiện bất kỳ xử lý nào. Nó hoàn toàn không qua tâm đến ý nghĩa bên trong của trang abc. Nội dung trang này sau đó sẽ được phía trình duyệt xử lý. Mô hình theo cách này gọi là mô hình lập trình phía máy khách.
Cách 2: Khi máy khách yêu cầu một trang ví dụ trang Web xyz thì máy chủ sẽ đọc toàn bộ nội dung của trang đó và xử lý tại Server (trước khi gửi về cho client) để được kết quả, tiếp theo lấy kết quả xử lý được gửi về cho phía máy khách. Kết quả trả về cho máy khách có thể chứa các phần tử HTML, các câu lệnh JavaScript, các định nghĩa kiểu CSS…. và tiếp tục được phía Client (trình duyệt) xử lý như cách 1.
Với cách 1, do việc xử lý không diễn ra bên phía Server nên trang Web không thể đọc/ghi các dữ liệu trên Server được (ví dụ danh sách khách hàng, danh mục sản phẩm,…). Vì vậy nó chỉ phù hợp với các trang Web đơn giản không đòi hỏi xử lý chi tiết.
Với cách 2, do việc xử lý thông tin ở tại Server nên hoàn toàn có thể đọc/ghi dữ liệu trên chính Server đó. Vì vậy nó phù hợp với các dự án lớn và tính bảo mật cao. Mô hình theo cách này gọi là mô hình lập trình phía máy chủ.
Hình 3.1. Mô hình lập trình phía máy khách
Trong mô hình lập trình ở phía máy khách, máy chủ web chỉ đọc trang và gửi yêu cầu về cho máy khách.
Hình 3.2. Mô hình lập trình phía máy chủ
Trong mô hình lập trình phía máy chủ trang Web được xử lý trước tiên bên Web Server sau đó mới gửi về cho máy khách xử lý tiếp.
3.1.2. Giới thiệu về ASP.NET
Như chúng ta đã biết, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả năng sử dụng lại code. Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất source code. Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện. Quá trình xử lý Postback khó khăn, …
Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.Net. Với ASP.Net, không những không cần đòi hỏi bạn phải biết các tag HTML, thiết kế Web, mà nó còn hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây dựng và phát triển ứng dụng Web.
ASP.Net là kỹ thuật lập trình và phát triển ứng dụng Web ở phía Server (Server- side) dựa trên nền tảng của Microsoft .Net Framework.
Hầu hết, những người mới đến với lập trình Web đều bắt đầu tìm hiểu những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets). Khi Web browser yêu cầu một trang Web (trang Web sử dụng kỹ thuật client-side), Web Server tìm trang Web mà Client yêu cầu, sau đó gởi về cho Client. Client nhận kết quả trả về từ Server và hiển thị lên màn hình.
ASP.Net sử dụng kỹ thuật lập trình ở phía Server thì hoàn toàn khác, mã lệnh ở phía Server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server. Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/JavaScript/CSS và trả về cho Client. Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật lập trình ở phía Server.
ASP.Net được Microsoft phát triển qua nhiều phiên bản từ ASP.Net 1.0 , 1.1, 2.0, 3.0, 3.5, 4.0 và gần đây nhất là phiên bản ASP.Net 4.5 chạy trên .Net Framework 4.5 sử dụng môi trường phát triển tích hợp (IDE) Visual Studio.Net.
Yêu cầu về xây dựng các ứng dụng thương mại điện tử ngày càng đuợc phát triển và nâng cao. Khi đó ASP không còn đáp ứng được yêu cầu đặt ra. ASP được thiết kế riêng biệt và nằm ở tầng phiá trên hệ điều hành Windows và Internet Information Service, do đó các công dụng của nó hết sức rời rạc và giới hạn. ASP.Net đưa ra một phương pháp phát triển hoàn toàn mới khác so với ASP trước kia và đáp ứng được các yêu cầu đặt ra.
Các ưu điểm của ASP.Net:
- ASP chỉ sử dụng VBScript và JavaScript mà không sử dụng được các ngôn ngữ mạnh khác : Visual Basic, C++… Trong khi đó ASP.NET cho phép viết nhiều ngôn ngữ : VBScript, JavaScript, C#, Visual Basic.Net,…
- ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code (mã lệnh) riêng, giao diện riêng . Dễ đọc, dễ quản lý và bảo trì.
- Trong các trang ASP chúng ta phải viết mã để kiểm tra dữ liệu nhập từ người dùng, ASP.NET hỗ trợ các validation Controls để kiểm tra chúng ta không cần viết mã,...
- Hỗ trợ phát triển Web được truy cập trên các thiết bị di động: PocketPC, Smartphone…
- Hỗ trợ nhiều Web Server Control .
- Hỗ trợ thiết kế và xây dựng Master Page lồng nhau.
- Hỗ trợ bẫy lỗi (debug) JavaScript.
- Cho phép người dùng thiết lập giao diện trang Web theo sở thích cá nhân sử dụng Theme, Profile, WebPart.
- Tăng cường các tính năng bảo mật (security).
- Hỗ trợ kỹ thuật truy cập dữ liệu mới LINQ.
- Hỗ trợ kỹ thuật xây dụng các ứng dụng đa phương tiện SilverLight.
- Hỗ trợ kỹ thuật bất đồng bộ ASP.Net Ajax.
- ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …
- ASPX và ASP có thể cùng hoạt động trong một ứng dụng.
- Kiến trúc lập trình giống ứng dụng trên Windows.
- Hỗ trợ quản lý trạng thái của các Control.
- Tự động phát sinh mã HTML cho các Server Control tương ứng với từng loại Browser.
- Hỗ trợ nhiều cơ chế Cache.
- Triển khai cài đặt : Không cần lock, không cần đăng ký DLL, cho phép nhiều hình thức cấu hình ứng dụng.
- Hỗ trợ quản lý ứng dụng ở mức toàn cục: global.aspx có nhiều sự kiện hơn, quản lý Session trên nhiều Server, không cần Cookies.
- Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thông dịch mỗi khi trang Web được yêu cầu, ASP.Net biên dịch những trang Web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố này làm gia tăng tốc độ thực thi so với kỹ thuật thông dịch của ASP.
3.1.3. Cơ chế xử lý file ASP.NET phía máy chủ
Đối với các trang ASP.NET thì cơ chế xử lý giống như đã mô tả ở trên, tức là theo mô hình xử lý bên phía Server. Nhưng có bổ sung thêm tính năng Compile and Cache.
Hình 3.3. Mô hình xử lý tệp tin ASP.NET
a) Cơ chế xử lý
- Người lập trình phải tạo các trang ASPX (giả sử tên trang đó là abc.aspx) và đặt nó vào trong thư mục Web của Web Server.
- Trình duyệt gửi yêu cầu tới Server với nội dung “yêu cầu gửi trang .aspx”.
- Web Server sẽ biên dịch code của trang aspx (bao gồm cả các mã code VB.NET/C# gọi là code behind hay code file) thành class.
- Lớp sau khi được biên dịch sẽ thực thi.
- Trả kết quả về cho trình duyệt
Hình 3.4. Quá trình biên dịch trang ASP.NET
b) Các yêu cầu sử lý phía Server
- Yêu cầu xử lý tại phía Server thông qua Runat=“Server”.
Hình 3.5. Yêu cầu xử lý phía Server qua runat=“Server”
- Yêu cầu xử lý bên phía Server thông qua cặp thẻ <% %>.
Hình 3.6. Yêu cầu xử lý phía Server qua cặp thẻ <% %>
Ngoài 2 cách trên, còn 2 cách để yêu cầu xử lý trang Web trực tiếp trên Server, đó là: Đặt các câu lệnh ngay trong cặp thẻ Script nhưng có thuộc tính runat = “Server”.
<script language="C#" type="text/C#" runat="Server"> string HoVaTen = "Aptech Center";
public int Tong (int a, int b)
{
return a + b;
}
// Hoặc định nghĩa lớp public class Example
{
public int Tich (int a, int b)
{
return a * b;
}
}
</script>