Giáo trình ASP.NET cơ bản
1.1. ASP.NET và .NET FRAMEWORK
ASP.NET là một phần của .NET FrameWork Để xây dựng trang asp.NET bạn cần thêm
vào các đặc tính của .netframework. NetFrameWork chứa đựng hai phần FrameWork Class
Library và Commom Language Runtime.
1.1.1 Hiểu về Framework Class Library
Framework chứa đựng hàng nghìn lớp mà bạn có thể sử dụng trong ứng dụng của mình.
Ví dụ một vài lớp của .Net Framework
-Lớp File: cho phép bạn tạo file, sửa, xoá hay kiểm tra sự tồn tại của file trên đĩa cứng
-Lớp Graphics: Cho phép bạn làm việc với nhiều kiểu của ảnh, bạn cũng có thể tạo ra các
ảnh từ các phương thức trên lớp này.
-Lớp SmtpClient: Cho phép bạn gửi thư.
Hiểu về Namespaces: hơn 13 nghìn lớp trong Netframework. Đây là một con số rất lớn,
Microsoft đã chia các lớp cùng xử lý về một vấn đề gì đó vào các không gian tên chung hay
namespaces.
Một Namespace đơn giản là một danh mục, ví dụ tất cả các lớp thao tác với File và thư
mục chúng ta đưa vào một namespaces chung gọi là System.IO, hay tất cả các lớp làm việc với
SqlServer có thể đưa vào namespace System.Data.SqlClient.
Các namespaces chung nhất trong net:5
. System
. System.Collections
. System.Collections.Specialized
. System.Configuration
. System.Text
. System.Text.RegularExpressions
. System.Web
. System.Web.Caching
. System.Web.SessionState
. System.Web.Security
. System.Web.Profile
. System.Web.UI
. System.Web.UI.WebControls
. System.Web.UI.WebControls.WebParts
Tóm tắt nội dung tài liệu: Giáo trình ASP.NET cơ bản
1
Giáo trình ASP.NET
cơ bản
Thành phố Hồ Chí Minh, tháng
năm ..
2
Chương I. Giới thiệu chung về cấu trúc ASP.NET Framwork ...................................................................... 4
1.1. ASP.NET và .NET FRAMEWORK ........................................................................................................ 4
1.1.1 Hiểu về Framework Class Library ..................................................................................................... 4
1.1.2 Hiểu về Commom Language Runtime(CLR) ..................................................................................... 5
1.2 giới thiệu về VS 2005 .............................................................................................................................. 5
1.2.1 Giới thiệu ......................................................................................................................................... 5
1.2.2 Hiểu về các điều khiển trên Asp.net ................................................................................................... 7
1.2.3 Hiểu và điều khiển sự kiện trên server ............................................................................................... 7
1.2.4 Hiểu về View State ........................................................................................................................... 8
1.3 Trang asp.net ........................................................................................................................................... 9
1.3.1 Hiểu về Biên dịch động ..................................................................................................................... 9
1.3.2 Hiểu về Control Trees ....................................................................................................................... 9
1.3.3 Sử dụng Code-Behind ..................................................................................................................... 10
1.3.4 Điều khiển sự kiện của trang asp.net................................................................................................ 11
1.3.5 Hiểu về Request, Response ............................................................................................................ 12
Chương II. Cơ bản về lập trình C# lập trình trong trang ASP.NET .......................................................... 13
2.1 Kiểu dữ liệu. ...................................................................................................................................... 13
2.2 khai báo biến .................................................................................................................................... 14
2.3.2, Sử dụng trình bày switch case ........................................................................................................ 15
2.3.3. Sử dụng trình bày for ..................................................................................................................... 15
2.3.4 Sử dụng trình bày while .................................................................................................................. 15
2.3.5 Sử dụng trình bày do while ............................................................................................................. 15
2.3.6 Sử dụng trình bày break (để thoát khỏi vòng lặp) ............................................................................. 16
2.3.7 Sử dụng trình bày continue. ............................................................................................................. 16
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) ................... 16
2.3.9 Sử dụng trình bày goto. ................................................................................................................... 16
2.4. Trang asp.net .................................................................................................................................... 17
2.4.1 Viết code C# trong file .aspx: .......................................................................................................... 17
2.4.2 Viết code trong trang code behind ................................................................................................... 17
2.4.2 Tạo một lớp thư viện ....................................................................................................................... 18
2.5. Cơ bản về lớp trong C# ......................................................................................................................... 22
2.5.1 Khai báo Field và thuộc tính............................................................................................................ 22
2.5.2 Phương thức khởi dựng của lớp ....................................................................................................... 22
2.5.3 Overloading phương thức ................................................................................................................ 24
2.5.4 Khai báo không gian tên (Namespaces) ........................................................................................... 25
2.5.5 Lớp Partial ...................................................................................................................................... 27
2.5.6 Kế thừa và trừu tượng hoá một lớp .................................................................................................. 28
2.5.7 Khai báo Interface:......................................................................................................................... 30
Chương III. Sử dụng các điều khiển Cơ bản ................................................................................................ 32
3.1. Điều khiển hiển thị thông tin ................................................................................................................. 32
3.1.1. Label ............................................................................................................................................. 32
3.1.2. Điều khiển Literal .......................................................................................................................... 32
3.2. Điều khiển cho phép người dùng nhập liệu ........................................................................................... 33
3.2.1 Điều khiển TextBox ........................................................................................................................ 33
3.2.2. Sử dụng điều khiển CheckBox ....................................................................................................... 34
3.2.3. Điều khiển RadioButton ................................................................................................................. 34
3.3. Submitting Form Data .......................................................................................................................... 35
3.3.1. Điều khiển Button .......................................................................................................................... 35
3.3.2. Điều khiển LinkButton: .................................................................................................................. 35
3.3.3. Điều khiển ImageButton ................................................................................................................ 36
3.3.4. Sử dụng Client Scripts với điều khiển Button ................................................................................. 36
3.3.5. Thực hiện chuyển trang .................................................................................................................. 36
3.3.6. Chỉ định một Button mặc định. ....................................................................................................... 38
3.3.7. Điều khiển Command Event........................................................................................................... 38
3.4. Điều khiển hiển thị ảnh ......................................................................................................................... 39
3.4.1. Điều khiển Image. .......................................................................................................................... 39
3.4.2. Điều khiển ImageMap .................................................................................................................... 41
3.5. Điều khiển Panel .................................................................................................................................. 42
3.6. Điều khiển HyperLink .......................................................................................................................... 44
Chương IV Sử dụng các điều khiển Validation ............................................................................................ 44
4.1 RequiredFieldValidator ......................................................................................................................... 45
4.1.1 Ý nghĩa ........................................................................................................................................... 45
4.1.2 Ví dụ .............................................................................................................................................. 45
4.2 Điều khiển CompareValidator ............................................................................................................... 45
4.2 Ý nghĩa ............................................................................................................................................. 46
4.2.1 Cách sử dụng .................................................................................................................................. 46
4.2.2 Ví dụ .............................................................................................................................................. 46
4.3. Điều khiển RegularExpressionValidator ............................................................................................ 47
3
4.3.1 ý nghĩa ........................................................................................................................................... 47
4.3.2 Cách sử dụng .................................................................................................................................. 47
4.3.2 Ví dụ .............................................................................................................................................. 47
4.4 Điều khiển CompareValidator ............................................................................................................... 48
4.4.1 ý nghĩa ........................................................................................................................................... 48
4.4.4. Cách sử dụng ................................................................................................................................. 48
4.5 Điều khiển CustomValidator ................................................................................................................. 50
4.5.1 ý nghĩa ........................................................................................................................................... 50
4.5.2 Cách sử dụng và Ví dụ .................................................................................................................... 50
4.6. Điều khiển ValidationSummary ............................................................................................................ 52
4.6.1. ý nghĩa .......................................................................................................................................... 52
4.7 Tạo các điều khiển kiểm tra tính hợp lệ theo ý mình. .......................................................................... 55
Chương 5. Sử dụng các Rich Control. .......................................................................................................... 57
5.1 File Upload. .......................................................................................................................................... 57
5.2 Điều khiển Calendar .............................................................................................................................. 60
5.3 Điều khiển Advertisements(Trình bày quảng cáo - Adrotator) ................................................................ 65
Chương 6 Thiết kế Website với MasterPage ................................................................................................ 69
6.1 Tạo MasterPage..................................................................................................................................... 69
6.2 Sử dụng FindControl trong MasterPage. ................................................................................................ 71
6.2.1 Trang Findcontrol.master ................................................................................................................ 71
6.2.2 Trang Findcontrol.aspx ................................................................................................................... 71
6.2.3 Trang Expose.master ...................................................................................................................... 72
6.2.4 Trang Expose.aspx .......................................................................................................................... 72
6.3 Load một MasterPage động ................................................................................................................... 73
Chương 7. Thiết kế Website với themes ....................................................................................................... 74
7.1 Thêm Skin vào trong themes ................................................................................................................. 74
7.2 Đăng ký Themes với web.config............................................................................................................ 77
7.3 Đưa nhiều CSS vào 1 Themes................................................................................................................ 79
7.4 Load một Theme động ........................................................................................................................... 79
Chương 8 xây dựng và sử dụng user control ................................................................................................ 80
8.1 Tạo User control.................................................................................................................................... 80
8.2 Sử dụng User Control ............................................................................................................................ 81
8.3 Load một User Control trong thực thi của trang...................................................................................... 83
Chương 9 Điều khiển ADO.NET ......................................................................... ... thống phân cấp của các file cấu hình được kết hợp
và được lưu trữ trong bộ nhớ, một file phụ thuộc được tạo ra giữa thiết lập lưu trữ cấu hình và
file hệ thống. Nếu bạn thay đổi file cấu hình một thiết lập cấu hình mới được tải lại tự động
trong bộ nhớ.
Khi bạn thay đổi thiết lập cấu hình, bạn không cần phải dừng và khởi động lại ứng dụng.
ASP.NET Framework tự động tại lại và lưu trữ thiết lập cấu hình khi thiết lập cấu hình được
thay đổi trong file hệ thống.
File cấu hình có cấu như là một file XML, nên bạn cso thể sử dụng NotePade để cài đặt
và chỉnh sửa.
15.1.2 Sử dụng công cụ quản trị website
Nếu bạn sử dụng Visual Web Developer(hoặc Visual Studio.NET), bạn có thể chỉnh sửa cấu
hình với công cụ Web site Administrator. Đây là một công cụ cung cấp cho bạn một Form
tương tác và chỉnh sửa cấu hình.
Đế sử dụng bạn làm theo hình dưới đây:
Giao diện Website Administrator hiện như sau:
Hom
e: Chứa đựng đường dẫn đến các Tab khác
Security: Cho phép bạn cấu hình authentication, authorization và Role Manager.
172
Application: Tab này cho phép bạn tạo và quản lý các thiết đặt cấu hình, Cấu hình SMTP, theo
dõi ứng dụng, gỡ lỗi và các trang lỗi.
Provider: Cho phép bạn lựa chọn một nhà cung cấp cho Menbership và quản lý Role.
Khi công cụ website Administration được cài đặt như một ứng dụng ASP.NET, bạn có thể xem
thực thể mã nguồn này theo đường dẫn sau:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles
15.1.3 Sử dụng giao diện snap-in quản lý ASP.NET Framework
Bạn có thể sử dụng ASP.NET Microsoft Management Console(MMC) công cụ Snap-in theo
các bước sau:
Mở IIS từ from Start, Control Panel, Administrative Tools.
Nhấn chuột phải vào một thư mục hay thư mục ảo website và chọn Properties
Chọn Tab ASP.NET -> chọn Edit Configuration
Giao diện của ASP.NET Configuration Settings hiện ra như sau
173
15.1.4 Áp dụng các thiết lập cấu hình cho đường dẫn riêng
Bởi mặc đinh file Machine.config và Web.config được ap dụng cho tất cả các trang trong một
folder cùng cấp và thư mục con. Tuy nhiên nếu cần bạn có thể cấu hình theo đường dẫn riêng
Bạn thiết cấu hình tới đường dẫn riêng bởi việc sử dụng thành phần
Ví dụ trong file Web.config sau sẽ password bảo vệ file Secret.aspx
174
Khi bạn yêu cầu chạy file Secret.aspx nó tự động chuyển sang trang Login.aspx
15.1.5 Khoá các thiết lập cấu hình
Bạn có thể khoá thiết lập cấu hình, Ví dụ có thể bạn muốn yêu cầu không ứng dụng chạy trên
server thực thi trong chế độ debug. Trong trường hợp này, bạn có thể khoá thiết lập cấu hình
debug trong file website Web.config, file Web.config trong thư mục root, hoặc file
Machine.config.
Bạn có thể khoá thiết lập cấu hình bằng nhiều cách, trong ví dụ sau hướng dẫn bạn khoá một
thiết lập bằng cách sử dụng allowOverride=”fasle” trong thành phần
Trong ví dụ trên chúng ta khoá thành phần compilation, Một vấn đề xảy ra là nó khoá thực thể
thành phần complication. Nếu bạn thử thay đổi một vài thuộc tính của thành phần complication
ở một cấp cao hơn trong phân cấp cấu hình, thì một biết lệ sẽ được đưa ra.
Bạn có thể thêm các thuộc tính sau vào cấu hình thành phần riêng.
lockAllAttributesExcept: Cho phép khoá tất cả thuộc tính ngoại trừ danh sách giá trị trong
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.
lockAllElementsExcept: Cho phép bạn khoá tất cả các thành phẩn con của thành phần hiện tại
ngoại trừ danh sách giá trị 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.
175
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:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>
void Page_Load(object sender, EventArgs e)
{
lblWebcome.Text = WebConfigurationManager.AppSettings["welcome"].ToString();
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
Untitled Page
<asp:Literal ID="litCopy" runat="server" Text="<%$AppSettings:copyright
%>">
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.
176
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.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowConfigApp.aspx.cs"
Inherits="ShowConfigApp" %>
void Page_Load(object sender, EventArgs e)
{
CompilationSection section =
(CompilationSection)WebConfigurationManager.GetWebApplicationSection("system.web/co
mpilation");
lblDebug.Text = section.Debug.ToString();
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
Show Config App
Debug Mode:
177
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:
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="ShowConfigRelative.aspx.cs" Inherits="subfolder_ShowConfigRelative" %>
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/co
mpilation");
lblDebug2.Text = section.Debug.ToString();
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
Show Config Relative
GetSection Debug:
GetWebApplicationSection Debug:
Kết xuất của chương trình
178
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();
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
Show Config Path
179
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.
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="ShowConfigMachine.aspx.cs" Inherits="ShowConfigMachine" %>
void Page_Load(object sender, EventArgs e)
{
Configuration config = WebConfigurationManager.OpenMachineConfiguration();
AuthenticationSection section =
(AuthenticationSection)config.GetSection("system.web/authentication");
lblMode.Text = section.Mode.ToString();
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
hiển thị cấu hình Machine
Giá trị mặc đinh Authentication:
Kết xuất của chương trình
180
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
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="ShowConfigContents.aspx.cs" Inherits="ShowConfigContents" %>
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);
181
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);
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
Hiển thị nội dung cấu hình
Kết xuất của chương trinh
182
a. 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.
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="ShowConfigModify.aspx.cs" Inherits="ShowConfigModify" %>
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);
}
183
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
Show Config Modify
<asp:Button ID="btnUpdate" OnClick="btnUpdate_Click" runat="server" Text="Cập
nhật" />
Kết xuất của chương trinh
File đính kèm:
giao_trinh_asp_net_co_ban.pdf

