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