Bài giảng Web server Control - Nguyễn Hà Giang
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Web server Control - Nguyễn Hà Giang", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
        Tài liệu đính kèm:
 bai_giang_web_server_control_nguyen_ha_giang.pptx bai_giang_web_server_control_nguyen_ha_giang.pptx
Nội dung text: Bài giảng Web server Control - Nguyễn Hà Giang
- Web Server Control Nguyen Ha Giang
- Nội dung 2  HTML server control  Web server control (ASP.NET Web Server Control)  Automatic post back event Nguyen Ha Giang
- Mô hình ASP page tương tác 3 Nguyen Ha Giang
- HTML control 4  HTML control có thể chuyển thành server control khi bổ sung runat = "server"  Cho phép xử lý trên server side, code có thể tham chiếu đến HTML server control này thông qua ID. Server control Nguyen Ha Giang
- HTML control 5  Một số thuận tiện khi chuyển HTML control sang HTML server control  Code có thể tham chiếu đến control này  Server control có thể duy trì được state trong quá trình round trip đến server  Server control có thể tạo sự kiện, code có thể xử lý  Dễ sử dụng đối với người quen sử dụng ASP trước đây Nguyen Ha Giang
- HTML control 6 Điều khiển HTML trên thanh công cụ Truy xuất nội dung của textbox Nguyen Ha Giang
- HTML control 7  Minh họa dùng HTML control upload file HTML control: input file HTML control: input button HTML span: hiển thị tình trạng upload Nguyen Ha Giang
- HTML control 8 Chọn tập tin Sự kiện Click chạy trên server Nguyen Ha Giang
- HTML control 9 protected void btnUpload_Click(object sender, EventArgs e) { string file = File1.PostedFile.FileName; // trích tên file trong chuỗi đường dẫn string filename = System.IO.Path.GetFileName(file); // chep tap tin len thu muc "upload" File1.PostedFile.SaveAs(Server.MapPath("Upload\\") + filename); // hiển thị thông báo cho user biết lblThongBao.InnerHtml = " Upload completed! "; } Nguyen Ha Giang
- HTML control 10 Browse chọn file trong máy client Upload file lên server Nguyen Ha Giang
- Web control 11  Web control  Cung cấp mô hình đối tượng "năng động" và "mạnh mẽ" hơn ◼ Bao gồm thuộc tính style, và những định dạng  Hỗ trợ nhiều sự kiện và gần giống với Windows control  Một số thành phần UI không có trong HTML control như GridView, Calendar và validation.  Web control thông minh tự động phát sinh ra tag HTML tương ứng với trình duyệt! Nguyen Ha Giang
- Web control cơ bản 12 Label Button or TextBox , , or CheckBox RadioButton Hyperlink LinkButton chứa tag ImageButton Image ListBox DropDownList CheckBoxList chứa nhiều tags RadioButtonList chứa nhiều tags BulletedList ordered list (numbered) or unordered list (bulleted). Panel Table Nguyen Ha Giang
- Web control cơ bản 13  Luôn bắt đầu bởi tiền tố asp: theo sau bởi tên lớp  Nếu không có tag đóng thì kết thúc với />  Mỗi thuộc tính trong tag phải tương ứng với thuộc tính control  Khi user request trang aspx có chứa code như trên thì kết quả code trả về như sau: Nguyen Ha Giang
- Web control cơ bản 14  Web control với thuộc tính định dạng  Các thuộc tính chung có trong các control do chúng kế thừa thừa từ lớp cơ sở WebControl  Khi trả về HTML, những thuộc tính được chuyển thành các định dạng theo CSS Hello World Nguyen Ha Giang
- Web control 15 Bảng liệt kê thuộc tính chung của web control Thuộc tính Kiểu Ý nghĩa ID String Quy định id của control, là duy nhất BackColor Color Quy định màu nền BorderColor Color Màu đường viền BorderStyle BorderStyle Kiểu đường viền BorderWidth Unit Độ rộng viền CssClass String Tên của CSS được dùng cho control Enable Boolean Quy định điều khiển có được hiển thị hay không Font FontInfo Font cho điều khiển ForeColor Color Màu chữ hiển thị trên control Height Unit Chiều cao ToolTip String Dòng chữ hiển thị khi di chuyển chuột vào Width Unit Độ rộng điều khiển Nguyen Ha Giang
- Web control -Label 16  Dùng để hiển thị và trình bày nội dung trên trang web.  Nội dung hiển thị xác định qua thuộc tính Text  Text có thể nhận và hiển thị nội dung với các tag HTML Nguyen Ha Giang
- Hyperlink 17  Điều khiển tạo ra liên kết siêu văn bản  Các thuộc tính  ImageUrl: hình hiển thị trên điều khiển  Text: trong trường hợp có Text và ImageUrl thì ImageUrl được hiển thị.  NavigateUrl: đường dẫn liên kết  Target: xác định cửa sổ hiển thị ◼ _blank: hiển thị trong cửa sổ mới ◼ _self: hiển thị tại chính cửa sổ có liên kết ◼ _parent: hiển thị liên kết ở frame cha Nguyen Ha Giang
- Hyperlink 18  Minh họa dùng hyperlink HyperLink1.Text = "Trang Web về ASP.NET"; HyperLink1.ImageUrl = @"Image\asp_net.png"; HyperLink1.NavigateUrl = " "; HyperLink1.Target = "_blank"; Nguyen Ha Giang
- Textbox 19  Nhập và hiển thị dữ liệu, có nhiều tương đồng với textbox của Window Form  Các thuộc tính  Text: nội dung chứa trong text box  TextMode: chức năng của textbox ◼ SingleLine: hiển thị và nhập trên 1 dòng ◼ MultiLine: trên nhiều dòng văn bản ◼ Password: hiển thị * thay cho ký tự trong text  Rows: nếu TextMode=MultiLine, Rows quy định số dòng  MaxLength: số ký tự tối đa được nhập cho textbox  Wrap: cho phép xuống dòng khi dòng văn bản vượt quá chiều ngang, mặc định Wrap = true  AutoPostBack: quy định cho phép postback về server khi nội dung văn bản thay đổi hay không? Mặc định là không! Nguyen Ha Giang
- Textbox 20 Trên 1 dòng Nhiều dòng bc Nguyen Ha Giang
- Image 21  Hiển thị hình ảnh lên web  Thuộc tính  ImageUrl: đường dẫn đến tập tin cần hiển thị  AlternateText: chuỗi hiển thị khi ảnh không tồn tại  ImageAlign: canh lề giữa nội dung và hình ảnh ◼ Left: canh lề trái ◼ Middle: canh giữa văn bản & ảnh ◼ Right ◼ TextTop Sinh viên test các thuộc tính này ◼ Nguyen Ha Giang
- Button, ImageButton, LinkButton 22  Mặc định cả ba loại điều là submit button, mỗi khi được nhấn sẽ post back về server  Thuộc tính chung  Text: hiển thị chuỗi văn bản trên control  Ngoài những thuộc tính chung thì ImageButton còn có thuộc tính giống Image  ImageUrl  ImageAlign  AlternateText Nguyen Ha Giang
- Listbox & DropdownList 23  Hiển thị danh sách lựa chọn mà người dùng có thể chọn một hoặc nhiều (Listbox)  Các mục chọn có thể thêm vào danh sách thông qua mã lệnh hoặc ở cửa sổ thuộc tính  Các thuộc tính  AutoPostBack: khi mục chọn thay đổi có cho phép post back không  Items: danh sách mục chọn  Rows: quy định số item được hiển thị  SelectionMode: cách thức lựa chọn ◼ Single: chỉ chọn một ◼ Multiple: cho phép nhiều chọn lựa Nguyen Ha Giang
- Listbox & DropdownList 24 Ngôn ngữ lập trình Chuyên ngành Nguyen Ha Giang
- Listbox & DropdownList 25  Add item vào listbox trong màn hình thiết kế Màn hình thêm item Cách khác chọn thuộc tính Items trong cửa sổ Properties, kích vào “Collection” Nguyen Ha Giang
- Listbox & DropdownList 26  Add item vào listbox trong code // thêm item vào listbox ListBox1.Items.Add("Java"); ListBox1.Items.Add("C#"); ListBox1.Items.Add("VC++"); // chọn item thứ 2 (C#) là mặc định ListBox1.SelectedIndex = 1; Hiển thị mặc định item thứ 2 Nguyen Ha Giang
- Listbox & DropdownList 27  Các thuộc tính sau giúp xác định chỉ số, giá trị mục đang chọn, trong trường hợp chọn nhiều ta phải duyệt qua Items kiểm tra thuộc tính Selected xem có được chọn hay không  SelectedIndex: chỉ số item được chọn  SelectedItem: cho biết item được chọn  SelectedValue: giá trị mục chọn  Trường hợp có nhiều item được chọn thì các giá trị trên trả về thông tin liên quan đến item đầu tiên được chọn. Nguyen Ha Giang
- Listbox & DropdownList 28  Tập hợp Items: chứa danh sách các item  Add: thêm mục tin mới vào cuối danh sách: Items.Add( )  Insert: thêm mục tinh vào vị trí xác định: Items.Insert( )  Count: trả về số mục item có trong danh sách: Items.Count  Contains: kiểm tra xem 1 item có trong danh sách hay không: Items.Contains( )  Remove: Xóa đối tượng item ra khỏi danh sách  RemoveAt: xóa item tại vị trí index ra khỏi danh sách  Clear: xóa tất cả item trong danh sách Nguyen Ha Giang
- Minh họa tổng hợp 29  Form đơn giản cho phép user nhập vào họ tên, rồi add vào listbox. TextBox: txtName Button: btnAdd ListBox: lblDanhSach Nguyen Ha Giang
- Minh họa tổng hợp 30  Trích phần code tag table Nhập vào họ tên Nguyen Ha Giang
- Minh họa tổng hợp 31  Phần xử lý button “Thêm” trong file .cs protected void btnAdd_Click(object sender, EventArgs e) { // lấy nội dung user nhập trong textbox string Name = txtName.Text; // tạo listitem có thông tin là họ tên mới này ListItem newItem = new ListItem(Name); // kiểm tra nếu item không có trong listbox thì add // Items.Contains() trả về true nếu tồn tại, if (!lblDanhSach.Items.Contains(newItem)) lblDanhSach.Items.Add(newItem); //chưa có thêm vào } Nguyen Ha Giang
- Minh họa tổng hợp 32  Chạy trong browser: F5 (debug) hoặc Ctrl + F5 (without debug) Chỉ thêm những item mới Nguyen Ha Giang
- Checkbox & RadioButton 33  Thuộc tính  Checked: cho biết trạng thái được chọn  TextAlign: quy định vị trí hiển thị văn bản với điều khiển  AutoPostBack: quy định xem control có post back khi mục chọn thay đổi, mặc định là không  GroupName: (RadioButton), nhóm các điều khiển radiobutton lại thành một nhóm Nguyen Ha Giang
- Checkbox & RadioButton 34  Minh họa Thiết kế form Layout code In browser Nguyen Ha Giang
- CheckBoxList - RadioButtonList 35  Dùng để tạo ra nhóm các CheckBox/ListBox  Đây là điều khiển danh sách nên nó cũng có thuộc tính items chứa tập hợp các mục chọn  Các thuộc tính  RepeatColumns: số cột hiển thị  RepeatDirection: hình thức hiển thị ◼ Vertical: chiều dọc ◼ Horizontal: chiều ngang  AutoPostBack: quy định điều khiển tự động postback về server, mặc định là ko được Nguyen Ha Giang
- Minh họa CBL/RBL 36  Thêm các item vào radiobuttonlist checkboxlist Chọn edit item trong cửa sổ RadioButtonList Tasks Thêm các item vào, mỗi item là 1 radiobutton Nguyen Ha Giang
- Minh họa CBL/RBL 37  Với CheckBoxList cũng làm tương tự: Chọn chức năng CheckBoxList ở bên phải của CheckBoxList Chọc chức năng Edit Items Thêm các item, mỗi item khi thêm vào là 1 checkbox Nguyen Ha Giang
- Minh họa CBL/RBL 38  Tạo web form cuối cùng có dạng sau  Phần xử lý:  Khi Submit thì thông tin chuyên ngành và các kỹ năng user chọn sẽ được hiển trị ở Label bên dưới button Nguyen Ha Giang
- Minh họa CBL/RBL 39  Hàm xử lý sự kiện click của button Submit protected void Submit_Click(object sender, EventArgs e) { string chuyennganh; // lấy item được chọn trong radiobuttonlist chuyennganh = RadioButtonList1.SelectedItem.ToString(); // xuất thông tin chuyên ngành ra label Label1.Text = string.Format("Chuyên ngành {0} Kỹ năng", chuyennganh); // xác định các item được check trong CheckBoxList foreach(ListItem item in CheckBoxList1.Items) // duyệt qua từng item if (item.Selected) // kiểm tra xem item nào được check { // thêm item được chọn vào label Label1.Text += " "+item.ToString(); } } Nguyen Ha Giang
- Minh họa CBL/RBL 40 Nguyen Ha Giang
- Liên kết DL với control dạng list 41  Tạo đối tượng kiểu SortedList  SortedList dùng để lưu danh sách item, được sắp theo thuộc tính khóa  Để liên kết đối tượng dữ liệu (đối tượng SortedList) thì dùng thuộc tính DataSource  .DataSource =  Thuộc tính DataTextField tham chiếu đến dl hiển thị  Thuộc tính DataValueField tham chiếu đến dữ liệu mà ta nhận từ SelectedValue hay SelectedItem.Value.  Sử dụng phương thức DataBind để hiển thị dữ liệu khi trang được load Nguyen Ha Giang
- Liên kết DL với control dạng list 42  Minh họa tạo web form cho phép user chọn cầu thủ bóng đá ưa thích nhất.  Form như sau Hiển thị cầu thủ được chọn RadioButtonList: chứa danh sách cầu thủ, sẽ được liên kết với đối tượng SortedList Nguyen Ha Giang
- Liên kết DL với control dạng list 43  Code khởi tạo web form protected void Page_Load(object sender, EventArgs e) { if ( ! IsPostBack ) // chỉ khởi tạo lần đầu tiên { // tạo danh sách các cấu thủ SortedList list = new SortedList(); list.Add(1, "Cristiano Ronaldo"); list.Add(2, "Lionel Messi"); list.Add(3, "Kaka"); list.Add(4, "Ibrahimovic"); list.Add(5, "Franck Ribéry"); list.Add(6, "Wayne Rooney"); list.Add(7, "Didier Drogba"); list.Add(8, "Emmanuel Adebayor"); list.Add(9, "Samuel Eto\’o"); // đưa danh sách vào RadioButtonList rblDSCauThu.DataSource = list; rblDSCauThu.DataTextField = "Value"; // hiển thị giá trị rblDSCauThu.DataValueField = "Key"; rblDSCauThu.DataBind(); // hiển thị danh sách lên control } } Nguyen Ha Giang
- Liên kết DL với control dạng list 44  Xử lý: mỗi khi user chọn một cầu thủ thì thông tin sẽ được hiển thị trên label  Xử lý sự kiện SelectedIndexChanged của RadioButtonList  Để sự kiện này gởi về server tức thì: AutoPostBack = true protected void rblDSCauThu_SelectedIndexChanged(object sender, EventArgs e) { string cauthu = rblDSCauThu.SelectedItem.Text; lblBinhChon.Text = string.Format("Bạn bình chọn cầu thủ {0}", cauthu); } Nguyen Ha Giang
- Liên kết DL với control dạng list 45  Kết quả khi chạy Web Form Chọn cầu thủ Hiển thị cầu thủ vừa chọn Nguyen Ha Giang
- Automatic Postback 46  HTML server control cung cấp 2 sự kiện: ServerClick, ServerChange  Web control cung cấp đa dạng sự kiện  Click (Button, ImageButton)  TextChanged (TextBox)  CheckChanged (CheckBox, RadioButton)  SelectedIndexChanged (DropDownList, ListBox, CheckBoxList, RadioButtonList)  HTML server control kích hoạt những sự kiện khi postback xảy ra.  Web control có đặc tính có thể phát sinh sự kiện change tức thì bằng cách gọi postback. Gọi là Automatic Postback Nguyen Ha Giang
- Automatic Postback 47  Để bắt sự kiện change cho Web control, thiết lập thuộc tính AutoPostBack = true  Control sẽ submit page khi nó dò ra hành động đặc biệt của user (chọn một item khác trong listbox).  Đặc tính này dùng JavaScript Nguyen Ha Giang
- Automatic Postback 48 Webform2.aspx TextBox này có xử lý sự kiện txt_TextChanged nhưng không tự động Postback HTML render Hello World Nguyen Ha Giang
- Automatic Postback 49 Webform2.aspx TextBox tự động postback //<![CDATA[ var theForm = document.forms['form1']; if (!theForm) { theForm = document.form1; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } Nguyen Ha Giang
- Tóm tắt 50  HTML control  Sử dụng đơn giản, bổ sung thuộc tính runat = server, cho phép chạy trên server  Tính năng không mạnh, chỉ cung cấp một số loại control cơ bản  Web control  Thiết kế để chạy trên server  Hỗ trợ đầy đủ tính năng của control, được viết trên .NET  Hỗ trợ nhiều dạng control chuyên biệt: validation, data  Auto Postback  Cho phép control tự động post back về cho server Nguyen Ha Giang





