Giáo trình ASP.NET cơ bản
Chương I. Giới thiệu chung về cấu trúc ASP.NET Framwork 6
1.1. ASP.NET và .NET FRAMEWORK 6
1.1.1 Hiểu về Framework Class Library 6
1.1.2 Hiểu về Commom Language Runtime(CLR) 7
1.2 giới thiệu về VS 2005 7
1.2.1 Giới thiệu 7
1.2.2 Hiểu về các điều khiển trên Asp.net 9
1.2.3 Hiểu và điều khiển sự kiện trên server 10
1.2.4 Hiểu về View State 10
1.3 Trang asp.net 12
1.3.1 Hiểu về Biên dịch động 12
1.3.2 Hiểu về Control Trees 12
1.3.3 Sử dụng Code-Behind 13
1.3.4 Điều khiển sự kiện của trang asp.net 14
1.3.5 Hiểu về Request, Response 16
Chương II. Cơ bản về lập trình C# lập trình trong trang ASP.NET 17
2.1 Kiểu dữ liệu. 17
2.2 khai báo biến 18
2.3.2, Sử dụng trình bày switch case 19
2.3.3. Sử dụng trình bày for 19
2.3.4 Sử dụng trình bày while 20
2.3.5 Sử dụng trình bày do while 20
2.3.6 Sử dụng trình bày break (để thoát khỏi vòng lặp) 20
2.3.7 Sử dụng trình bày continue. 20
2.3.8 Sử dụng trình bày return(được sử dụng trong các hàm để trả về giá trị cụ thể cho hàm) 21
2.3.9 Sử dụng trình bày goto. 21
2.4. Trang asp.net 21
2.4.1 Viết code C# trong file .aspx: 21
2.4.2 Viết code trong trang code behind 22
2.4.2 Tạo một lớp thư viện 23
2.5. Cơ bản về lớp trong C# 27
2.5.1 Khai báo Field và thuộc tính 27
2.5.2 Phương thức khởi dựng của lớp 28
2.5.3 Overloading phương thức 29
2.5.4 Khai báo không gian tên (Namespaces) 31
2.5.5 Lớp Partial 33
2.5.6 Kế thừa và trừu tượng hoá một lớp 35
2.5.7 Khai báo Interface: 37
Chương III. Sử dụng các điều khiển Cơ bản 39
3.1. Điều khiển hiển thị thông tin 39
3.1.1. Label 39
3.1.2. Điều khiển Literal 40
3.2. Điều khiển cho phép người dùng nhập liệu 40
3.2.1 Điều khiển TextBox 40
3.2.2. Sử dụng điều khiển CheckBox 41
3.2.3. Điều khiển RadioButton 42
3.3. Submitting Form Data 43
3.3.1. Điều khiển Button 43
3.3.2. Điều khiển LinkButton: 44
3.3.3. Điều khiển ImageButton 44
3.3.4. Sử dụng Client Scripts với điều khiển Button 44
3.3.5. Thực hiện chuyển trang 45
3.3.6. Chỉ định một Button mặc định. 46
3.3.7. Điều khiển Command Event 47
3.4. Điều khiển hiển thị ảnh 48
3.4.1. Điều khiển Image. 48
3.4.2. Điều khiển ImageMap 50
3.5. Điều khiển Panel 51
3.6. Điều khiển HyperLink 53
Chương IV Sử dụng các điều khiển Validation 54
4.1 RequiredFieldValidator 55
4.1.1 Ý nghĩa 55
4.1.2 Ví dụ 55
4.2 Điều khiển CompareValidator 56
4.2 Ý nghĩa 56
4.2.1 Cách sử dụng 56
4.2.2 Ví dụ 56
4.3. Điều khiển RegularExpressionValidator 57
4.3.1 ý nghĩa 57
4.3.2 Cách sử dụng 57
4.3.2 Ví dụ 58
4.4 Điều khiển CompareValidator 59
4.4.1 ý nghĩa 59
4.4.4. Cách sử dụng 59
4.5 Điều khiển CustomValidator 61
4.5.1 ý nghĩa 61
4.5.2 Cách sử dụng và Ví dụ 61
4.6. Điều khiển ValidationSummary 64
4.6.1. ý nghĩa 64
4.7 Tạo các điều khiển kiểm tra tính hợp lệ theo ý mình. 67
Chương 5. Sử dụng các Rich Control. 70
5.1 File Upload. 70
5.2 Điều khiển Calendar 73
5.3 Điều khiển Advertisements(Trình bày quảng cáo - Adrotator) 78
Chương 6 Thiết kế Website với MasterPage 83
6.1 Tạo MasterPage 83
6.2 Sử dụng FindControl trong MasterPage. 85
6.2.1 Trang Findcontrol.master 85
6.2.2 Trang Findcontrol.aspx 86
6.2.3 Trang Expose.master 87
6.2.4 Trang Expose.aspx 87
6.3 Load một MasterPage động 88
Chương 7. Thiết kế Website với themes 90
7.1 Thêm Skin vào trong themes 90
7.2 Đăng ký Themes với web.config 93
7.3 Đưa nhiều CSS vào 1 Themes 95
7.4 Load một Theme động 95
Chương 8 xây dựng và sử dụng user control 97
8.1 Tạo User control 97
8.2 Sử dụng User Control 98
8.3 Load một User Control trong thực thi của trang 100
Chương 9 Điều khiển ADO.NET 104
9.1 Kiến trúc ADO .Net 104
9.2 Đối tượng Connection 109
9.1.1 Thuộc tính: 110
9.1.2 Phương thức của đối tượng Connection 110
9.3 Đối tượng SqlCommand 110
9.4 Đối tượng SqlDataReader 111
9.5 Đối tượng DataAdapter 111
9.6 Đối tượng Dataset và DataTable 112
9.7 Ví dụ 116
Chương 10. Sử dụng ListControl 129
10.1 Xây dựng các lớp thư viện dùng chung 129
10.2 Điều khiển DropdownList 135
10.3 Sử dụng điều khiển RadiobuttonList 136
10.4. Sử dụng điều khiển ListBox 138
10.5 Sử dụng điều khiển CheckBoxList 140
10.6. Sử dụng điều khiển BulletedList 142
Chương 11. Sử dụng điều khiển GridView 144
11.1. Tạo một GridView đơn giản 144
11.2. Sorting Data 145
11.3. Paging Data 145
11.4. Hiển thị dữ liệu trống: 150
11.5. Sử dụng Fields với điều khiển GridView 151
11.2 Sử dụng CheckBoxFields 153
11.3 Sử dụng CommandFields 154
11.4 Sử dụng ButtonFields. 155
11.6 Sử dụng ImageFields 157
11.7 Sử dụng TemplateFields 158
Chương 12 Sử dụng DetailView và FormView 159
12.1 DetailView 159
12.1.1. Hiển thị dữ liệu với DetailView 159
12.2.2. Sử dụng Fields với điều khiển DetailView 162
12.2.3. Hiển thị DetailView với dữ liệu rỗng 163
12.2.4. Phân trang với DetailView 165
12.2.5. Cập nhật dữ liệu với DetailView 167
Bạn có thể dùng DetailView để cập nhật dữ liệu 167
12.3 Sử Dụng Điều khiển FormView 169
12.3.1. Hiển thị dữ liệu với điều khiển FormView 170
12.3.2. Phân trang trong FormView 170
12.3.3. Thêm mới dữ liệu với FormView 172
12.3.4. Xoá dữ liệu từ đối tượng FormView 174
Chuong 13. Sử dụng Repeater và DataList 175
13.1 Sử dụng điều khiển Repeater 175
13.1.1. Hiển thị dữ liệu với Repeater 175
13.1.2. Sử dụng Template với điều khiển Repeater 176
13.1.3. Điều khiển Repeater với các sự kiện 178
13.2. Sử dụng điều khiển DataList 181
13.2.1. Hiển thị dữ liệu với DataList 181
13.2.2. Hiển thị dữ liệu trong nhiều cột 182
13.2.3. Sử dụng Template với điều khiển DataList 183
13.2.4. Chọn dữ liệu với điều khiển DataList 183
Chương 14. Cookie, Session, Profile 187
14.1. Sử dụng Cookie 187
14.1.1 Cookie làm việc như thế nào? 187
14.1. Bảo mật với Cookie 187
14.2. Làm việc với Session 191
14.2.1 Thêm dữ liệu vào Session 192
14.2.2 Lấy dữ liệu từ một Session 192
14.2.3 Lưu trữ cơ sở dữ liệu trong Session 193
14.2.4 Sử dụng đối tượng Session 193
14.3. Sử dụng Profiles 195
Chương 15. Cấu hình và Triển khai ứng dụng 201
15.1 Cấu hình ứng dụng 201
15.1.1 Tổng quan về cấu hình website 201
15.1.2 Sử dụng công cụ quản trị website 202
15.1.3 Sử dụng giao diện snap-in quản lý ASP.NET Framework 204
15.1.4 Áp dụng các thiết lập cấu hình cho đường dẫn riêng 205
15.1.5 Khoá các thiết lập cấu hình 206
15.1.6 Thêm vào cấu hình ứng dụng tuỳ biến 207
15.1.7 Sử dụng cấu hình API 208
15.1.8 Đọc các phần cấu hình từ ứng dụng hiện tại 209
15.1.9 Mở một file cấu hình 212
15.1.10 Sử dụng lớp Configuration 213
ị của thuộc tính này, bạn có thể thêm nhiều thuộc tính để ngoại trừ, mỗi thuộc tính cách nhau bởi một dấu phẩy. lockAttributes: Cho phép bạn khoá nhiều thuộc tính, bạn có thể khoá nhiều thuộc tính để ngoại trừ, mỗi thuộc tính cách nhau bởi một dấu phẩy. lockElements: Cho phép khoá nhiều thành phần con, mỗi thành phần cách nhau bởi một dấu phẩy. lockItem: cho phép khoá thành phần hiện tại. Ví dụ , file Web.config sau khoá thành phần debug 15.1.6 Thêm vào cấu hình ứng dụng tuỳ biến bạn có thể thêm vào các cấu hình ứng dụng tuỳ biến tới file Web.config dễ dàng bằng cách thêm vào phần appSettings, phần appSetting chứa đựng một danh sách các cặp khoá và giá trị. Ví dụ file Web.config sau. Bạn có thể lấy giá trị từ các phần từ appSettings bằng lập hoặc khai báo trong thẻ trình như ví dụ sau: void Page_Load(object sender, EventArgs e) { lblWebcome.Text = WebConfigurationManager.AppSettings["welcome"].ToString(); } Untitled Page "> Kết xuất của chương trình: 15.1.7 Sử dụng cấu hình API Cấu hình API cho phép bạn lấy và chỉnh sửa các thiết lập cấu hình, Bạn có thể sử dụng cấu hình API để lấy thông tin và chỉnh sửa các thiết lập cấu hình tại máy cục bộ hoặc máy kết nối từ xa. Nếu bạn chịu trách nhiệm về bảo trì một số lượng lớn các website, Cấu hình API trở lên rất dễ dàng cho bạn. Bạn có thể xây dựng công cụ quản trị mà bạn tạo cấu hình thay đổi nhanh chóng nhiều ứng dụng. Bạn có thể sử dụng cấu hình API trong một trang ASP.NET, hoặc bạn có thể xây dựng các công cụ Command Line hoặc các ưng dụng Windows Forms mà sử dụng cấu hình API. Cấu hình API được đưa ra bởi lớp WebConfigurationManager(định vị trong không gian tên System.Web.Configuration), Lớp này hỗ trợ các thuộc tính sau: AppSettings: Đưa ra tất cả các cấu hình từ các phần appSettings. ConnectionStrings: Đưa ra tất cả các cấu hình từ các phần connectionStrings. Lớp WebConfigurationManager chỉ hỗ trợ các phương thức sau GetSection: Lấy một phần cấu hình có quan hệ với trang hiện tại hoặc hỗ trợ đường dẫn ảo. GetWebApplicationSection: lấy một phần cấu hình từ file web.config trong thư mục gốc của ứng dụng web hiện tại. OpenMachineConfiguration: lấy thông tin từ file Machine.config OpenMappedMachineConfiguration: Lấy thông tin từ file Machine.config bởi sử dụng một file ánh xạ riêng. OpenMappedWebConfiguration: Lấy file Web.config bởi việc sử dụng một file ánh xạ riêng. OpenWebConfiguration: Lấy file Web.config trên một máy cục bộ khách hoặc remote server. 15.1.8 Đọc các phần cấu hình từ ứng dụng hiện tại Khi một ứng dụng ASP.NET khởi động, ưng dụng gộp tất cả các thiết lập cấu hình trong phân lớp cấu hình để tạo sự biểu diễn của các thiết lập cấu hình. Một thiết lập cấu hình riêng có thể có các giá trị riêng ở các tầng khác nhau trong phân cấp. Bạn có thể sử dụng các phương thức của lớp WebConfigurationManager để lấy giá trị của một thiết lập cấu hình ở một vài tầng trong hệ phân cấp. Phương thức WebConfigurationManager.GetWebApplicationSection() luôn lấy một thiết lập cấu hình từ file Web.config. Ví dụ sau sẽ hiển thị có cho phép debugging có được hiển thị không. void Page_Load(object sender, EventArgs e) { CompilationSection section = (CompilationSection)WebConfigurationManager.GetWebApplicationSection("system.web/compilation"); lblDebug.Text = section.Debug.ToString(); } Show Config App Debug Mode: Kết xuất của chương trình Phương thức GetWebApplication() trả về một đối tượng. Bạn phải chuyển kiểu giá trị trả về bởi phương thức này tới một kiểu của phần cấu hình riêng. Trong ví dụ trên giá trị trả về được chuyển kiểu về CompilationSection. Nếu bạn muốn lấy giá trị của một thiết đặt cấu hình quan hệ với một thư mục trong trường hợp trang này thực thi, thì bạn có thể sử dụng phương thức GetSection() thay vì sử dụng phương thức GetWebApplicationSection(). Như ví dụ sau: void Page_Load(object sender, EventArgs e) { CompilationSection section = (CompilationSection)WebConfigurationManager.GetSection("system.web/compilation"); lblDebug1.Text = section.Debug.ToString(); section = (CompilationSection)WebConfigurationManager.GetWebApplicationSection("system.web/compilation"); lblDebug2.Text = section.Debug.ToString(); } Show Config Relative GetSection Debug: GetWebApplicationSection Debug: Kết xuất của chương trình Trong ví dụ trên ta sử dụng hai phương thức GetSection() và GetWebApplicationSection(), Phương thức đầu tiên sẽ hiển thị thông tin thiết lập cấu hình quan hệ với thư mục hiện tại và phương thức thứ 2 hiển thị thông tin thiết lập cấu hình từ file web.config trong thư mục gốc. Nếu bạn muốn lấy giá trị của một thiết lập cấu hình cho một đường dẫn riêng bạn có thể quá tải phương thức GetSection() mà chấp nhận một tham số đường dẫn. Ví dụ: void Page_Load(object sender, EventArgs e) { Dictionary results = new Dictionary(); DirectoryInfo rootDir = new DirectoryInfo(Request.PhysicalApplicationPath); DirectoryInfo[] dirs = rootDir.GetDirectories(); foreach (DirectoryInfo dir in dirs) { string path = "~/" + dir.Name; CompilationSection section = (CompilationSection)WebConfigurationManager.GetSection("system.web/compilation", path); results.Add(path, section.Debug); } grdResults.DataSource = results; grdResults.DataBind(); } Show Config Path Kết xuất của chương trình Trong ví dụ trên đưa ra tất cả các thư mục con chứa đựng trong ứng dụng hiện tại và hiển thị debugging có cho phép hay không. 15.1.9 Mở một file cấu hình Nếu bạn muốn mở một file cấu hình riêng, bạn có thể mở một trong các phương thức Open được đưa ra bởi WebConfigurationManager. Ví dụ sau sử dụng phương thức OpenMachineConfiguration() để mở file Machine.config và hiển thị giá trị cho thiết lập authentication. void Page_Load(object sender, EventArgs e) { Configuration config = WebConfigurationManager.OpenMachineConfiguration(); AuthenticationSection section = (AuthenticationSection)config.GetSection("system.web/authentication"); lblMode.Text = section.Mode.ToString(); } hiển thị cấu hình Machine Giá trị mặc đinh Authentication: Kết xuất của chương trình 15.1.10 Sử dụng lớp Configuration Khi bạn sử dụng một trong các phương thức mở của WebConfigurationManager như là các phương thức OpenMachineConfiguration() hoặc OpenWebConfiguration(), phương thức trả về một thực thể của lớp Configuration lớp này hỗ trợ các phương thức sau: AppSettings: trả về phần cấu hình appSettings ConnectionStrings: Trả về phần cấu hình connectionStrings EvaluationContext: trả về một thực thể của lớp ContextInformation mà cho phép bạn định rõ ngữ cảnh của thông tin cấu hình FilePath: trả về đường dẫn vật lý tới file cấu hình. HasFile: Trả về True khi có một file đưa ra thông tin cấu hình Locations: Trả về một danh sách định nghĩa cục bộ bởi cấu hình. NamespaceDeclared: Trả về True khi file cấu hình bao gồm các khai báo không gian tên. RootSectionGroup: Trả về nhóm thư mục gốc. SectionGroups: trả về nhóm con được chứa đựng bởi cấu hình này. Sections: Trả về phần con chứa đựng bởi cấu hình này. Lớp Configuration chỉ hỗ trợ các phương thức sau: GetSection: Cho phép bạn trả về phần cấu hình chỉ định GetSectionGroup: Cho phép bạn trả về nhóm cấu hình chỉ định. Save: cho phép bạn ghi thông tin chỉnh sửa cấu hình. SaveAs: Cho phép bạn ghi một file cấu hình mới. Bạn có thể sử dụng thuộc tính Configuration.RootSectionGroup để lấy các phần chính trong một file cấu hình. Bạn có thể sử dụng thuộc tính SectionGroups để trả về tất cả các nhóm trong nhóm con và thuộc tính Sections để trả về tất cả các nhóm con nằm trong phần con. Ví dụ: Gọi đệ quy hiển thị nội dung của file Machine.config trong một điều khiển TreeView void Page_Load(object sender, EventArgs e) { //Them nut dau tien TreeNode parentNode = new TreeNode("configuration"); treeMachine.Nodes.Add(parentNode); //Bat dau tu phan nhom goc Configuration config = WebConfigurationManager.OpenMachineConfiguration(); //hien thi phan nhom con AddChildSectionGroups(parentNode, config.RootSectionGroup); //hien thi phan con AddChildSections(parentNode, config.RootSectionGroup); } private void AddChildSectionGroups(TreeNode parentNode, ConfigurationSectionGroup parentConfigSectionGroup) { foreach (ConfigurationSectionGroup configSectionGroup in parentConfigSectionGroup.SectionGroups) { TreeNode childNode = new TreeNode(configSectionGroup.SectionGroupName); parentNode.ChildNodes.Add(childNode); AddChildSectionGroups(childNode, configSectionGroup); AddChildSections(childNode, configSectionGroup); } } void AddChildSections(TreeNode parentNode, ConfigurationSectionGroup parentConfigSectionGroup) { foreach (ConfigurationSection configSection in parentConfigSectionGroup.Sections) { TreeNode childNode = new TreeNode(configSection.SectionInformation.Name); parentNode.ChildNodes.Add(childNode); } } Hiển thị nội dung cấu hình Kết xuất của chương trinh Chỉnh sửa các file cấu hình Bạn có thể sử dụng lớp WebConfigurationManager không chỉ để mở đọc các giá trị của thiết lập cấu hình, mà bạn còn có thể dùng nó để sửa hoặc thêm mới một nội dung cấu hình. Lớp Configuration chỉ hỗ trợ hai phương thức ghi nhớ thông tin phương thức Save() và SaveAs(). Ví dụ sau cho phép bạn tắt hoặc mở cho một ứng dụng. void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); CompilationSection section = (CompilationSection)config.GetSection("system.web/compilation"); chkenableDebug.Checked = section.Debug; } } protected void btnUpdate_Click(object sender, EventArgs e) { Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); CompilationSection section = (CompilationSection)config.GetSection("system.web/compilation"); section.Debug = chkenableDebug.Checked; config.Save(ConfigurationSaveMode.Modified); } Show Config Modify Kết xuất của chương trinh
File đính kèm:
- Giáo trình ASP.NET cơ bản.doc