﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Diễn đàn lập trình viên .NET / Visual Studio .Net và các vấn đề liên quan / ASP.NET - Ajax - WebSerivce </title><generator /><description>Diễn đàn lập trình viên .NET</description><link>http://forum.vi-vn.com/</link><webMaster>admin@vi-vn.com</webMaster><lastBuildDate>Thu, 11 Mar 2010 05:04:51 GMT</lastBuildDate><ttl>20</ttl><item><title>Hỏi về lập trình web giống như plugin trong Windows App</title><link>http://forum.vi-vn.com/Topic1892-38-1.aspx</link><description>Anh em cho mình hỏi xíu. Ý mình muốn là làm một trang web, nhưng các tính năng của nó có thể thay đổi, thêm bớt được, giống như các plugin cửa ứng dụng Windows vậy.&lt;br&gt;Với cách này, mình có thể tạo một cái khung chung website, sau đó viết thêm các module để ghép vào.&lt;br&gt;Mình muốn tìm tài liệu về nó, nhưng thật tình là không biết tìm với từ khóa là j nữa. &lt;br&gt;Ai bít nó có tên là gì không? hay có một cơ chế j tương tự nó, thì chỉ mình với&lt;br&gt;Chỉ cần cho vài key word là "ngon" lắm rồi.&lt;br&gt;Cảm ơn nhìu nhìu.</description><pubDate>Wed, 10 Mar 2010 04:11:47 GMT</pubDate><dc:creator>leeffa</dc:creator></item><item><title>edit ảnh asp.net c#?</title><link>http://forum.vi-vn.com/Topic1887-38-1.aspx</link><description>mình đang làm web upload ảnh bằng asp.net c#, mình muốn khi user up lên sẻ kiểm tra thuộc tính ( size, dung lượng) nếu hợp lệ chuyển qua trang khác cho user chỉnh sửa ( cut ảnh) ! :w00t: xin cảm ơn các bạn trước , &lt;A href="mailto:mtvtrung@gmail.com"&gt;mtvtrung@gmail.com&lt;/A&gt;</description><pubDate>Mon, 01 Mar 2010 01:37:38 GMT</pubDate><dc:creator>mtvtrung</dc:creator></item><item><title>Tạo trang web soạn thảo Topic</title><link>http://forum.vi-vn.com/Topic1881-38-1.aspx</link><description>Các bạn giúp mình với nhé. Mình đang làm đồ án, viết web ấy mà nhưng khi làm ra trang cập nhật tin tức, vẽ ra được như hình dưới nhưng khổ nỗi không biết phải làm sao để khi soạn thảo xong nhấn vào nút B thì chữ trong hộp đó đậm lại được.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;IMG src="http://forum.vi-vn.com/Uploads/Images/7f9d1e55-df2f-40a0-b215-824e.JPG"&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Giúp mình với nhé. &lt;/STRONG&gt;</description><pubDate>Fri, 26 Feb 2010 21:14:56 GMT</pubDate><dc:creator>HangXom</dc:creator></item><item><title>Hỏi về cấu hình web.config để gửi mail trên HOST</title><link>http://forum.vi-vn.com/Topic1876-38-1.aspx</link><description>Cho mình hỏi tại sao khi chạy trên localhost thì mình gửi mail được, còn khi chạy trên HOST thì bị báo lỗi:&lt;br&gt;"Insufficient permissions for setting the configuration property 'port'. (M:\Domains\tuvancainghien.gov.vn\wwwroot\web.config line 67) "&lt;br&gt;&lt;br&gt;Cấu hình file webconfig phần mail là (mình thêm dấu "" cho các thẻ "&lt;&gt;" để tránh lỗi):&lt;br&gt;"&lt;system.net &gt;"&lt;br&gt;"&lt;mailSettings &gt;"&lt;br&gt;		"&lt;smtp&gt;"&lt;br&gt;&lt;br&gt;         "&lt;network host="smtp.gmail.com" port="587" userName="hieuthanh76@gmail.com" password="1234567"/&gt;"&lt;br&gt;               "&lt;/smtp&gt;"&lt;br&gt;			"&lt;/mailSettings&gt;"&lt;br&gt;		"&lt;/system.net&gt;"</description><pubDate>Tue, 23 Feb 2010 20:46:51 GMT</pubDate><dc:creator>huongdai</dc:creator></item><item><title>Code gởi mail tự động trong asp.net(vb)</title><link>http://forum.vi-vn.com/Topic1760-38-1.aspx</link><description>Mình đang viết một trang web có phần xữ lý giỏ hàng. Giỏ hàng của mình không đăng ký thành viên mà cứ sau mõi lần mua hàng xong và nhấn vào nút thành toán thì sẽ xuất hiện ra một from để &lt;SPAN class=VClickTextLink id=link20&gt;khách hàng&lt;/SPAN&gt; nhập tên, địa chỉ, email...để đăng ký. Mình muốn sau khi khách hàng đăng ký thành công from này sẽ tự động gởi thông tin những gì khách hàng đăng ký đến mail mà khách hàng đã nhập.&lt;BR&gt;Bạn nào biết code về phần gởi mail tự động chỉ giáo giúp mình với.</description><pubDate>Mon, 16 Nov 2009 01:02:21 GMT</pubDate><dc:creator>tuanhaikh</dc:creator></item><item><title>Nhân viết ứng dụng .NET, PHP, C# giá rẻ bất ngờ.</title><link>http://forum.vi-vn.com/Topic1825-38-1.aspx</link><description>Nhận viet web application, web thuong mai dien tu, phan mem ung dung, desktop application, nhân viết đồ án môn học các loại C#, PHP, .NET, day kem lam trinh C#, .NET, PHP,...&lt;br&gt;&lt;br&gt;Đặt biệt ưu đãi giá rẻ phải chăng cho sinh viên, học sinh.&lt;br&gt;Đảm bảo bạn sẽ hài lòng về kể quả.&lt;br&gt;&lt;br&gt;Thông tin liên hê: huy_hoang67229@yahoo.com.vn, phuongxuanvo@yahoo.com&lt;br&gt;Hoặc Điện thoại: 0938476459  Gặp Hoàng,&lt;br&gt;                 01264683567 Gặp Phương.</description><pubDate>Sat, 12 Dec 2009 08:49:35 GMT</pubDate><dc:creator>phuongxuanvo</dc:creator></item><item><title>Nhờ admin chỉ giáo về giỏ hàng trong asp.net</title><link>http://forum.vi-vn.com/Topic1820-38-1.aspx</link><description>Mình đang viết một trang web giỏ hàng bằng asp.net(VB)(sử dụng user control)&lt;br&gt;Mình muốn khi click vào nút đặt hàng thì sản phẩm được cập nhật vào giỏ hàng nhưng vẫn đứng ở nguyên trang sản phẩm chứ không link đến trang khác thì phải làm thế nào nhỉ.&lt;br&gt;Mong các bạn chỉ giáo &lt;br&gt;</description><pubDate>Fri, 11 Dec 2009 00:21:06 GMT</pubDate><dc:creator>tuanhaikh</dc:creator></item><item><title>send mail trong ASP với Mdeamon</title><link>http://forum.vi-vn.com/Topic1819-38-1.aspx</link><description>Mình có đọc bài viết của Bill Gate về send mail (http://forum.vi-vn.com/Topic188-20-1.aspx) ra gmail . Nhưng để dùng với mail server Mdeamon thì mình thử thay đổi 1 số setting nhưng vẫn không được , báo lỗi "Failure sending mail" . Không bit phải code như thế nào .Ai đã từng làm qua rồi thì chỉ mình với</description><pubDate>Thu, 10 Dec 2009 12:07:16 GMT</pubDate><dc:creator>tintin87</dc:creator></item><item><title>Cấu hình thời gian tồn tại của session (asp.net)</title><link>http://forum.vi-vn.com/Topic1811-38-1.aspx</link><description>&lt;DIV id=post_message_1922085&gt;Admin ơi cho mình hỏi&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Vốn là mình đang viết một trang giỏ hàng. Khi &lt;SPAN class=VClickTextLink id=link20&gt;khách hàng&lt;/SPAN&gt; mở trang web lên sẻ tự động cập cho khách hàng đó một MAKH mình gán trong SESSION("MAKH")&lt;BR&gt;Nhưng khi khách hàng đang mua hàng giữa chừng thì cái SESSION("MAKH") này bị out nên lỗi&lt;BR&gt;&lt;BR&gt;Trong webconfig mình có cấu hình dòng như sau &lt;BR&gt;&lt;BR&gt;&amp;lt;sessionState mode="InProc" cookieless="true" timeout="5000"/&amp;gt;&lt;BR&gt;&lt;BR&gt;để kéo dài thời gian session nhưng vẫn không được. &lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Mong admin giúp mình cấu hình lại thời gian tồn tại của session Vd ở đây mình muốn session tồn tại khoảng 45 phút&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Cảm ơn rất nhiều&lt;/DIV&gt;</description><pubDate>Wed, 02 Dec 2009 18:50:37 GMT</pubDate><dc:creator>tuanhaikh</dc:creator></item><item><title>Hỏi về hàm tìm kiếm trong sql 2000</title><link>http://forum.vi-vn.com/Topic1791-38-1.aspx</link><description>&lt;DIV id=post_message_1914042&gt;Mình có một câu select thế này&lt;BR&gt;&lt;BR&gt;select * from TimKiem where TENNHANVIEN LIKE '%'+@KiemTra+'%'&lt;BR&gt;&lt;BR&gt;(@KiemTra là giá trị xác định khi nhập vào text tìm kiếm)&lt;BR&gt;&lt;BR&gt;Trong table TimKiem có các dòng sau&lt;BR&gt;&lt;BR&gt;1. trần văn hải&lt;BR&gt;2. trần tý tèo&lt;BR&gt;&lt;BR&gt;Khi mình nhập vào trần và nhấn tìm thì ra 2 dòng&lt;BR&gt;Nhưng khi mình nhập vào trần hải hoặc trần t thì không ra dòng nào&lt;BR&gt;&lt;BR&gt;Bạn nào có thể sửa dùm mình câu select làm sao để khi mình đánh trần hải, trần văn,trần h,... vẫn tìm được dòng trần văn hải được không &lt;/DIV&gt;&lt;!-- / message --&gt;</description><pubDate>Wed, 25 Nov 2009 20:29:49 GMT</pubDate><dc:creator>tuanhaikh</dc:creator></item><item><title>Hiệu ứng hình chạy vào giỏ hàng www.sachhot.com</title><link>http://forum.vi-vn.com/Topic1759-38-1.aspx</link><description>Mình đang viết một trang web có phẫn xữ lý giỏ hàng. Mình Muốn Khi khàng click vào nút mua hàng thì hình sản phẩm đó sẽ có hiệu ứng chạy vào giỏ hàng giống trang sachhot.com.&lt;br&gt;&lt;br&gt;Bạn nào có code phần này giúp mình với</description><pubDate>Sun, 15 Nov 2009 19:51:47 GMT</pubDate><dc:creator>tuanhaikh</dc:creator></item><item><title>Vấn đề về phân quyền trong ASP.NET</title><link>http://forum.vi-vn.com/Topic1758-38-1.aspx</link><description>Hiện em đang có 1 bài assignment, yêu cầu là khi login bằng quyền admin thì sẽ đến trang Insert.aspx, nếu login bằng user thì sẽ đến trang Detals.aspx. vấn đề ở chỗ là em không thể phân quyền được. Vì mới nhập môn nên em cũng không biết rõ, vậy thì có ai có thể giúp em test lại các phân quyền trong web.config mà em đã thiết lập hay không và có thể giúp em hoàn thành nốt phần phân quyền này. Nếu chỉ rõ ra lỗi mà em mắc phải và hướng hoàn tất bài này thì em cám ơn nhiều lắm. Thanks :)</description><pubDate>Thu, 12 Nov 2009 23:31:30 GMT</pubDate><dc:creator>TTDlatoi</dc:creator></item><item><title>Import File Excel into Database</title><link>http://forum.vi-vn.com/Topic1746-38-1.aspx</link><description>Bạn nào có tài liệu cách import file excel vào database ko cho mình với. Mình đang rất cần nó.&lt;br&gt;Cám ơn các bạn trước</description><pubDate>Tue, 10 Nov 2009 16:34:34 GMT</pubDate><dc:creator>hailuavitinh</dc:creator></item><item><title>Hỏi về RegisterRequiresControlState</title><link>http://forum.vi-vn.com/Topic1619-38-1.aspx</link><description>public class Sample : Control {&lt;/P&gt;&lt;P&gt;    private int currentIndex = 0;&lt;/P&gt;&lt;P&gt;    protected override void OnInit(EventArgs e) {&lt;/P&gt;&lt;P&gt;        Page.RegisterRequiresControlState(this);&lt;/P&gt;&lt;P&gt;        base.OnInit(e);&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;    protected override object SaveControlState() {&lt;/P&gt;&lt;P&gt;        return currentIndex != 0 ? (object)currentIndex : null;&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;    protected override void LoadControlState(object state) {&lt;/P&gt;&lt;P&gt;        if (state != null) {&lt;/P&gt;&lt;P&gt;            currentIndex = (int)state;&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;    }&lt;BR&gt;Mình không hiểu hàm này làm gì? Mong các bạn chỉ dẫn&lt;BR&gt;Cám ơn</description><pubDate>Thu, 08 Oct 2009 20:47:28 GMT</pubDate><dc:creator>hailuavitinh</dc:creator></item><item><title>Phân quyền trong ASP</title><link>http://forum.vi-vn.com/Topic1600-38-1.aspx</link><description>MÌnh đã tạo 2 Roles là: Posters,Administrators &lt;BR&gt;Mình có trang là Managing để quản lý các user và chỉ có Role là Administrators mới được vào. Mình đã cấu hình trong web.config là:&lt;BR&gt;&lt;LOCATION path="Managing.aspx"&gt;&lt;BR&gt;&lt;AUTHORIZATION&gt;&amp;lt;location path="Managing.aspx"&amp;gt;&lt;BR&gt;     &amp;lt;system.web&amp;gt;&lt;BR&gt;         &amp;lt;authorization&amp;gt;&lt;BR&gt;             &amp;lt;deny users="?" /&amp;gt;&lt;BR&gt;             &amp;lt;allow roles="Administrators"/&amp;gt;&lt;BR&gt;         &amp;lt;/authorization&amp;gt;&lt;BR&gt;     &amp;lt;/system.web&amp;gt;&lt;BR&gt;  &amp;lt;/location&amp;gt;&lt;BR&gt;&lt;DENY users="?" /&gt;&lt;BR&gt;&lt;ALLOW roles="Administrators" /&gt;&lt;/AUTHORIZATION&gt;&lt;/SYSTEM.WEB&gt;&lt;/LOCATION&gt;Lúc chạy thì mình đăng nhập với 1 cái UserName có Role là Posters, thế nhưng nó vẫn vào bình thường. Không biết mình cấu hình vậy đúng ko? Mong các bạn hướng dẫn.&lt;BR&gt;Cám ơn</description><pubDate>Sat, 03 Oct 2009 01:39:03 GMT</pubDate><dc:creator>hailuavitinh</dc:creator></item><item><title>Chi mình hỏi về control TextBox</title><link>http://forum.vi-vn.com/Topic1589-38-1.aspx</link><description>&lt;asp:TextBox runat="server" ID="Email" Width="100%" Text='&lt;%# Email %&gt;' /&gt;&lt;br&gt;&lt;br&gt;Mình không hiểu khúc Text='&lt;%# Email %&gt;' này là gì ?&lt;br&gt;Mong các bạn chỉ dẫn . Cám ơn</description><pubDate>Wed, 30 Sep 2009 02:28:49 GMT</pubDate><dc:creator>hailuavitinh</dc:creator></item><item><title>add auto number in Gridview</title><link>http://forum.vi-vn.com/Topic1473-38-1.aspx</link><description>Bởi việc sử dụng thuộc tính &lt;STRONG&gt;Container.DataItemIndex&lt;/STRONG&gt; bạn có thể hiển thị số thứ tự tăng dần trong gridview.&lt;BR&gt;&lt;BR&gt;&lt;IMG alt="add auto number in Gridview" src="http://forum.vi-vn.com/Uploads/Images/6857f944-37a4-4a80-b512-884d.gif"&gt;&lt;SPAN class=fullpost&gt;&lt;DIV class=codeview&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#0000ff&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;GridView&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;ID&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="GridView1"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="server"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;AllowPaging&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="True"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;AutoGenerateColumns&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="False"&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;DataSourceID&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="SqlDataSource1"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;PageSize&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="6"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;AlternatingRowStyle-BackColor&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="#006699"&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;AlternatingRowStyle-ForeColor&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="#FFFFFF"&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;Columns&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;TemplateField&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;HeaderText&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="Serial Number"&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ItemTemplate&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&amp;lt;%&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;#&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Container.DataItemIndex + 1 %&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ItemTemplate&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;TemplateField&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;BoundField&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;DataField&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="Name"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;HeaderText&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="Name"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;SortExpression&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="Name"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;BoundField&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;DataField&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="Location"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;HeaderText&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="Location"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;SortExpression&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="Location"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;Columns&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;GridView&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;P&gt;&lt;A href="http://csharpdotnetfreak.blogspot.com/2009/05/add-autonumber-column-in-gridview-or.html"&gt;Reference&lt;/A&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/SPAN&gt;</description><pubDate>Wed, 12 Aug 2009 08:52:00 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Mã hóa tập tin web.config</title><link>http://forum.vi-vn.com/Topic1462-38-1.aspx</link><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Mã hóa tập tin web.config&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Web.config trong trong asp.net dùng để cất giữ những thông tin nhạy cảm như: chuổi kết nối, mật khẩu, tài khoản smtp.... Việc bảo vệ nó trước con mắt tò mò trước những kẻ tấn công là rất cần thiết.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Trong bài này mình sẻ hướng cẩn các bước để mã hóa web.config, từ lập trình, cho đến các dòng lệnh (command line) hoặc thậm chí dùng công cụ.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;1. Dòng lệnh (command line)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;[code]Sử dụng aspnet_regiis.exe: aspnet_regiis.exe -pef section physical_directory -prov provider[/code]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;[code]aspnet_regiis.exe -pef connectionStrings C:\Temp\WebSite2 -prov "RsaProtectedConfigurationProvider"&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;[/code]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Chúng ta có thể sử dụng tham số -pdf để giải mã.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&lt;IMG alt="aspnet_regiis.exe encrypt command line" src="http://forum.vi-vn.com/Uploads/Images/encryptCommandline.png"&gt;&lt;BR&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;2.Dùng code&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Đoạn code sau dùng để mã hóa connectionStrings section, bởi việc sử dụng Section Collection Configuration:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;Dim&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt; configFile &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;As&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt; System.Configuration.Configuration &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;Dim&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt; configSection &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;As &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;ConfigurationSection &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;configFile = System.Web.Configuration.WebConfigurationManager. _&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;                                   &lt;/SPAN&gt;OpenWebConfiguration(Request.ApplicationPath)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;configSection = configFile.Sections("&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;connectionStrings&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;")&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Chú ý: code này chúng ta phải run page trên site, cho nên chúng ta có thể sử dụng thuộc tính Request.ApplicationPath để lấy đường dẫn vật lý của web.config.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Sau đó chúng ta lưu chuổi kết nối đả mã hóa lại.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;configSection.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider")&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;configFile.Save()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Và kết quả trong web.config là:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;connectionStrings &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;configProtectionProvider="DataProtectionConfigurationProvider"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;      &lt;/SPAN&gt;&amp;lt;EncryptedData&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt; &lt;/SPAN&gt;&amp;lt;CipherData&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;            &lt;/SPAN&gt;&amp;lt;CipherValue&amp;gt;...encrypted data... &amp;lt;/CipherValue&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;&amp;lt;/CipherData&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;      &lt;/SPAN&gt;&amp;lt;/EncryptedData&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;/connectionStrings&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;C#:&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;    &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&lt;FONT color=#000000&gt; Protected()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;        &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Configuration&lt;/SPAN&gt;&lt;FONT color=#000000&gt; configFile = &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;WebConfigurationManager&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.OpenWebConfiguration(Request.ApplicationPath);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;        &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ConfigurationSection&lt;/SPAN&gt;&lt;FONT color=#000000&gt; configSection = configFile.Sections[&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"connectionStrings"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;configSection.SectionInformation.ProtectSection(&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"RsaProtectedConfigurationProvider"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;configFile.Save();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;May mắn&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;cho chúng ta là khi chúng ta sử dụng collection &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;WebConfigurationManager&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; thì nó có thể nhận được chuổi kết nối đả được mã hóa.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;VB.NET&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;Dim cnStr As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;cnStr = System.Web.Configuration.WebConfigurationManager. _&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;ConnectionStrings("Northwind").ConnectionString &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;C#&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;string&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; cnStr = &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;WebConfigurationManager&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.ConnectionStrings[&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"Northwind"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;].ConnectionString;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Với cơ chế mã hóa sử dụng private key trên webserver, thậm chí nếu chúng bị đánh cấp thì cũng không thể giải mã được, điều này đồng nghĩa với việc là nếu chúng ta mã hóa trên test server, thì khi deploy thì deploy server không thể giải mã vì chúng khác private key.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Mã hóa rồi, giờ đến giải mã, đoạn mã sau sẻ lo về việc đó.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;VB.NET&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Dim configFile As System.Configuration.Configuration &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Dim configSection As ConfigurationSection &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;configFile = System.Web.Configuration.WebConfigurationManager. _&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;                                   &lt;/SPAN&gt;OpenWebConfiguration(Request.ApplicationPath)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;configSection = configFile.Sections("connectionStrings")&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;configSection.SectionInformation.UnProtectSection()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;configFile.Save()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;C#&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;    &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&lt;FONT color=#000000&gt; UnProtected()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;        &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Configuration&lt;/SPAN&gt;&lt;FONT color=#000000&gt; configFile = &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;WebConfigurationManager&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.OpenWebConfiguration(Request.ApplicationPath);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;        &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ConfigurationSection&lt;/SPAN&gt;&lt;FONT color=#000000&gt; configSection = configFile.Sections[&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"connectionStrings"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;configSection.SectionInformation.UnprotectSection();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;configFile.Save();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;3. Enterprise Libary Configuration Tool.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Open web.config với Enterprise Libary Configuration Tool (Open with...)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;IMG alt="Open web.config with Enterprise Libary" src="http://forum.vi-vn.com/Uploads/Images/enterpriselibconftool.png"&gt;&lt;BR&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Chọn provider&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;IMG alt="select protection provider using enterprise library tool" src="http://forum.vi-vn.com/Uploads/Images/selectprovider.png"&gt;&lt;BR&gt;&lt;BR&gt;Sau khi select protection provider --&amp;gt; connection string setting của chúng sẻ được mã hóa theo provider tương ứng.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-pagination: none; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Regards,&lt;/FONT&gt;&lt;/SPAN&gt;</description><pubDate>Thu, 06 Aug 2009 08:10:18 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Vấn đề tìm kiếm tương đối với Unicode!!!</title><link>http://forum.vi-vn.com/Topic117-38-1.aspx</link><description>khi select trên trang ASP.NET hoăc dưới SQL server. tìm kiếm tương đối với toán tử LIKE:&lt;br&gt;mình gặp 1 ít rắc rối với unicode. cụ thể là DATA đc lưu dưới dạng unicode.&lt;br&gt;khi mình search dữ liệu:&lt;br&gt;VD: select * from quehuong where que like '%hương%'&lt;br&gt;thì cho ra kết quả.&lt;br&gt;nhưng khi mình search với từ khóa không có unicode: huong&lt;br&gt;VD: select * from quehuong where que like '%huong%'&lt;br&gt;thì kết quả là 0 record mặc dù dưới database có hàng loạt dữ liệu trùng từ khóa trên.&lt;br&gt;ai có cách khắc phục giúp mình với.</description><pubDate>Sun, 14 Sep 2008 16:38:50 GMT</pubDate><dc:creator>ThaiTuHoDuong</dc:creator></item><item><title>Sử dụng custom error pages trong ASP.NET</title><link>http://forum.vi-vn.com/Topic1114-38-1.aspx</link><description>Giới thiệu:&lt;BR&gt;&lt;BR&gt;Sau khi triển khai ứng dụng asp.net lên mạng, thế nào ứng dụng của chúng ta sẻ gặp 1 số lổi không mong đợi, chẳng hạn như thay đổi chuổi kết nối, sai mật khẩu trong chuổi kết nối .... &lt;BR&gt;&lt;BR&gt;Một trong những số lổi đó, có thể chứa những thông tin nhạy cảm, mà có thể hacker cố gắng tìm ra lổi đó và tấn công website của chúng ta. Chính vì thể khi có lổi xãy ra, chúng ta không nên show hết các lổi đó, mà chúng ta should chuyển hướng user sang 1 trang khác, chứa thông điệp lổi đó.&lt;BR&gt;&lt;BR&gt;Chẳng hạn khi chúng ta input giá trị không hợp lệ trên URL (Query String Injection)&lt;BR&gt;&lt;BR&gt;Tất cả các lổi hiển thị hết cho end user&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.vi-vn.com/pubs/Articles/ASPNET-CustomError/Invalid-Input-Query-String.png"&gt;&lt;IMG src="http://forum.vi-vn.com/Uploads/Images/e81fef65-97b0-4313-b529-a080.jpg"&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Nếu sử dụng custom error thì chúng ta sẻ redirect end user sang 1 trang lổi do mình định nghỉa.&lt;BR&gt;&lt;BR&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ASPNET-CustomError/Friendly-Error-Message.png[/img][/url]&lt;BR&gt;&lt;BR&gt;Khi đó URL của ứng dụng chúng ta cũng được chuyển sang trang Custom Error Page.&lt;BR&gt;&lt;BR&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ASPNET-CustomError/URL-Custom-Error-Page.png[/img][/url]&lt;BR&gt;&lt;BR&gt;Cách làm:&lt;BR&gt;Chúng ta có thể dể dàng cấu hình Custom Error Page trong web.config qua thẻ customErrors.&lt;BR&gt;&lt;BR&gt;Đầu tiên chúng ta tạo 1 ứng dụng asp.net, ở đây mình đặt tên là CustomError&lt;BR&gt;&lt;BR&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ASPNET-CustomError/CustomError.png[/img][/url]&lt;BR&gt;&lt;BR&gt;Sau đó mình thêm 1 page gọi là ErrorPage.aspx, khi có lổi xãy ra, end user sẻ được chuyển sang trang này. Và trong trang ErrorPage.aspx mình put đoạn text để thông báo có lổi xãy ra.&lt;BR&gt;&lt;BR&gt;&lt;DIV&gt;&lt;BR&gt;Opps ! Đả có lổi xãy ra trong quá trình thực thi xin vui lòng thực hiện lại.&lt;BR&gt;&lt;/DIV&gt;&lt;BR&gt;&lt;BR&gt;Mở file web.config tìm đến dòng customErrors và thêm mode và defaultRedirect như hình sau:&lt;BR&gt;&lt;BR&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ASPNET-CustomError/CustomError.web.config.png[/img][/url]&lt;BR&gt;&lt;BR&gt;Chú ý: Mode: Off luôn luôn hiển thị thông điệp lổi đến end user. On: định nghỉa 1 trang custom error và chuyển end user sang trang error này. RemoteOnly: mặc định được thiết lập trong file machine.config, sẻ hiển thị lổi to end user nếu được truy cập từ local, và redirect to end user nếu truy cập từ bên ngòai.&lt;BR&gt;&lt;BR&gt;Hope this help,&lt;BR&gt;QuachNguyen&lt;BR&gt;</description><pubDate>Sun, 26 Apr 2009 01:42:58 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Truyền giá trị giửa các trang trong asp.net</title><link>http://forum.vi-vn.com/Topic826-38-1.aspx</link><description>Với các trang aspx chúng ta có nhiều cách truyền giá trị giửa trang này sang trang khác, điển hình như là : QueryString,Session,Properties... Mổi một cách điều có mặt ưu điểm và khuyết điểm của nó.&lt;br&gt;&lt;br&gt;Bài này mình sẻ giới thiệu cách truyền giá trị qua các trang aspx bằng QueryString. Các cách còn lại mình sẻ làm nốt nếu có thời gian.&lt;br&gt;&lt;br&gt;Đầu tiền mở Visual Studio (VS) lên và tạo 1 trang aspx, đường dẩn tùy chọn, Mặc định VS sẻ thêm vào 1 trang được đặt tên là Default.aspx. Và tiến hành thêm các điều khiển (controls) như hình :&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/images/Add.Table.gif[/img]&lt;br&gt;&lt;br&gt;Đặt tên các controls như : txtUserName, txtPassword, submitButton. Sau đó double click vào button Submit và viết đoạn code như sau :&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/images/ButtonSubmit.gif[/img]&lt;br&gt;&lt;br&gt;Anotherpage.aspx là 1 trang được thêm vào .&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/images/Add.Another.Page.gif[/img]&lt;br&gt;&lt;br&gt;Các bạn chú ý tham số name chổ AnotherPage.aspx?name= và Password, nó là 2 biến chứa giá trị.&lt;br&gt;&lt;br&gt;Mục đích của chúng ta là lấy giá trị vừa nhập từ trang Default.aspx từ trang AnotherPage.aspx. Chúng ta double Click vào trang AnotherPage.aspx và viết 1 đoạn code dùng để lấy giá trị từ Default.aspx như sau :&lt;br&gt;&lt;br&gt;Label1.Text = Request.QueryString["name"];&lt;br&gt;Label2.Text = Request.QueryString["Password"];&lt;br&gt;&lt;br&gt;Để chắc chắn rằng là người dùng đả nhập giá trị vào textboxes thì mới có giá trị, chúng ta add 1 đoạn code sau để check.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/images/AnotherPageLoad.gif[/img]&lt;br&gt;&lt;br&gt;Và bây giờ chạy trang default lên và nhập và user name và pass, sau đó click Submit , nó sẻ chuyển sang trang AnotherPage.aspx và lấy 2 giá trị vừa nhập vào gián cho 2 lable bên đó.&lt;br&gt;&lt;br&gt;Các bạn thử có gắng chạy trang AnotherPage.aspx trước xem, nếu như chưa có giá trị trong 2 textboxes thì nó sẻ chuyển sang trang default để tiến hành việc cung cấp 2 giá trị.&lt;br&gt;&lt;br&gt;QueryString là cách cổ điền, ít bảo mật và thường dùng cho các giá trị nhỏ được truyền . Các bạn có thể nhìn vào URL của nó sẻ có thể thấy được tất tần tật các giá trị vừa nhập vào .&lt;br&gt;&lt;br&gt;http://localhost:1527/WebSite1/AnotherPage.aspx?name=quachnguyen&amp;Password=123456&lt;br&gt;&lt;br&gt;Nên suy xét kỷ trước khi sử dụng . &lt;br&gt;&lt;br&gt;Code với VB.NET&lt;br&gt;Tương tự với C# chúng ta code với VB.NET tương ứng như sau :&lt;br&gt;&lt;br&gt;    Protected Sub submitButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submitButton.Click&lt;br&gt;        Dim url As String = String.Empty&lt;br&gt;        url = "AnotherPage.aspx?name=" + txtUserName.Text &amp; "&amp;password=" + txtPassword.Text&lt;br&gt;        Response.Redirect(url)&lt;br&gt;    End Sub&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Đó là sự kiện cho button Submit.&lt;br&gt;&lt;br&gt;    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load&lt;br&gt;        If Request.QueryString("name") = Nothing Or _&lt;br&gt;           Request.QueryString("name") = "" Or _&lt;br&gt;           Request.QueryString("password") = Nothing Or _&lt;br&gt;           Request.QueryString("password") = "" Then&lt;br&gt;            Response.Redirect("Default.aspx")&lt;br&gt;        Else&lt;br&gt;            Label1.Text = Request.QueryString("name")&lt;br&gt;            Label2.Text = Request.QueryString("password")&lt;br&gt;        End If&lt;br&gt;    End Sub&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Và đây là sự kiện page load của trang anotherPage.</description><pubDate>Thu, 01 Jan 2009 01:07:56 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Rewrite Url, thật đơn giản!</title><link>http://forum.vi-vn.com/Topic203-38-1.aspx</link><description>Kỹ thuật rewrite URL là kỹ thuật dùng để che giấu url thật nhằm chống lại khả năng tấn công vào url.&lt;br&gt;&lt;br&gt;Ví dụ: thật sự bạn cần đưa ra 1 url như sau:&lt;br&gt;(1) http://www.banhang.com?product.aspx?productID=123&amp;ProductType=Hardware&lt;br&gt;&lt;br&gt;nhưng thực tế trên thanh địa chỉ của trình duyệt thì phải là:&lt;br&gt;(2) http://www.banhang.com/Product/Hardware/123 chẳng hạn.&lt;br&gt;&lt;br&gt;Lúc này RewiteURL đã làm cái việc chuyển đổi (2) -&gt; (1) theo một quy tắc người lập trình quy định.&lt;br&gt;&lt;br&gt;Ví dụ dưới kèm theo sẽ minh họa cách rewrite những Url aspx thành aspvn&lt;br&gt;&lt;br&gt;Cách bước thực hiện như sau:&lt;br&gt;&lt;br&gt;   1. Tạo 1 class có tên là RewriteUrlClass thừa kế từ IHttpModule:&lt;br&gt;&lt;br&gt;[code]      &lt;br&gt;      using System;&lt;br&gt;      using System.Web;&lt;br&gt;&lt;br&gt;      public class RewriteUrlClass : IHttpModule&lt;br&gt;      {&lt;br&gt;          #region IHttpModule Members       &lt;br&gt;&lt;br&gt;          public void Dispose()&lt;br&gt;          {&lt;br&gt;&lt;br&gt;          }&lt;br&gt;       &lt;br&gt;          public void Init(HttpApplication context)&lt;br&gt;          {&lt;br&gt;              context.BeginRequest += Context_BeginRequest;&lt;br&gt;          }       &lt;br&gt;&lt;br&gt;          private static void Context_BeginRequest(object sender, EventArgs e)&lt;br&gt;          {&lt;br&gt;              HttpApplication httpApplication = (HttpApplication) sender;&lt;br&gt;              string url = httpApplication.Request.RawUrl.ToLower();&lt;br&gt;       &lt;br&gt;              // Nếu là Url ảo như sau"&lt;br&gt;              if (url.Contains("/default.aspvn"))&lt;br&gt;              {&lt;br&gt;                  // Thì Url thực mà Server cần xử lý là:&lt;br&gt;                  httpApplication.Context.RewritePath("Default.aspx");&lt;br&gt;              }&lt;br&gt;       &lt;br&gt;              // Nếu là Url ảo như sau"&lt;br&gt;              if (url.Contains("/login.aspvn"))&lt;br&gt;              {&lt;br&gt;                  // Thì Url thực mà Server cần xử lý là:&lt;br&gt;                  httpApplication.Context.RewritePath("Login.aspx");&lt;br&gt;              }&lt;br&gt;      &lt;br&gt;              // Tùy thuộc vào quy tắt Rewrite mà chúng ta xử lý.&lt;br&gt;              // Một trong những cách hiệu quả nhất là dùng Regex Expression.      &lt;br&gt;          }       &lt;br&gt;&lt;br&gt;          #endregion&lt;br&gt;      }&lt;br&gt;&lt;br&gt;   2. Đăng ký vào httpModules trong Web.config như dưới đây:          &lt;br&gt;&lt;br&gt;      &lt;system.web&gt;&lt;br&gt;              &lt;httpModules&gt;&lt;br&gt;                  &lt;!-- BEGIN: MY URL REWRITE --&gt;&lt;br&gt;                  &lt;add name="MyUrlRewriter" type="RewriteUrlClass"/&gt;&lt;br&gt;                  &lt;!-- END: MY URL REWRITE --&gt;&lt;br&gt;              &lt;/httpModules&gt;&lt;br&gt;              .&lt;br&gt;              .&lt;br&gt;              .&lt;br&gt;      &lt;/system.web&gt;&lt;br&gt;[/code]&lt;br&gt;&lt;br&gt;   3. Chạy thử với các url có nằm trong quy tắc rewite RewriteUrlClass trong class có phần mở rộng là aspvn</description><pubDate>Wed, 24 Sep 2008 03:24:40 GMT</pubDate><dc:creator>thanhtungo</dc:creator></item><item><title>Play nhạc thông qua ID</title><link>http://forum.vi-vn.com/Topic1446-38-1.aspx</link><description>Dưới đây là đoạn play nhạc, file nhạc được truyền vào thông qua id từ trang Playlist.aspx các sư huynh chỉ giúp mình là trang Playlist.aspx này code như thế nào mà winMediaPlayer có thể hiểu được thay cho đường dẫn trực tiếp đến file nhạc vậy.&lt;br&gt;&lt;br&gt;Thanks các sư huynh nhiều nhé !&lt;br&gt;&lt;br&gt;&lt;object id="winMediaPlayerID" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" standby="Loading Microsoft Windows Media Player components..." classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="winMediaPlayerID" height="340" width="380"&gt;&lt;br&gt;                [color=#ff0000]&lt;param name="URL" value="Playlist.aspx?Media=25256"&gt;[/color]&lt;br&gt;                &lt;param name="rate" value="1"&gt;&lt;br&gt;                &lt;param name="balance" value="0"&gt;&lt;br&gt;                &lt;param name="currentPosition" value="0"&gt;&lt;br&gt;                &lt;param name="defaultFrame" value="0"&gt;&lt;br&gt;                &lt;param name="playCount" value="999"&gt;&lt;br&gt;                &lt;param name="CursorType" value="-1"&gt;&lt;br&gt;                &lt;param name="autoStart" value="1"&gt;&lt;br&gt;                &lt;param name="autoplay" value="1"&gt;&lt;br&gt;                &lt;param name="currentMarker" value="0"&gt;&lt;br&gt;                &lt;param name="invokeURLs" value="-1"&gt;&lt;br&gt;                &lt;param name="volume" value="50"&gt;&lt;br&gt;                &lt;param name="mute" value="0"&gt;&lt;br&gt;                &lt;param name="stretchToFit" value="-1"&gt;&lt;br&gt;                &lt;param name="windowlessVideo" value="0"&gt;&lt;br&gt;                &lt;param name="enabled" value="1"&gt;&lt;br&gt;                &lt;param name="fullScreen" value="0"&gt;&lt;br&gt;                &lt;param name="enableContextMenu" value="0"&gt;&lt;br&gt;                &lt;param name="enableErrorDialogs" value="0"&gt;&lt;br&gt;&lt;embed id="winMediaPlayerIDFF" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/windows/windowsmedia/download/" filename="Playlist.aspx?Media=25256" src="TVO.aspx_files/Playlist.asx" name="winMediaPlayerIDFF" autosize="1" autostart="1" autoplay="1" clicktoplay="1" displaysize="1" enablecontextmenu="0" enablefullscreencontrols="1" enabletracker="1" mute="0" playcount="999" showcontrols="1" showaudiocontrols="1" showdisplay="0" showgotobar="0" showpositioncontrols="1" showstatusbar="1" showtracker="1" height="340" width="380"&gt;  &lt;/object&gt;</description><pubDate>Wed, 29 Jul 2009 03:18:16 GMT</pubDate><dc:creator>nhatdanhdaisu</dc:creator></item><item><title>Lấy tên quốc gia trong .NET</title><link>http://forum.vi-vn.com/Topic1444-38-1.aspx</link><description>Đa phần các lập trình viên sử dụng database (db) (sql hoặc xml) để lưu tên quốc gia, nhưng bài viết này mình sẻ hướng dẩn cách lấy tên quốc gia mà không cần bất cứ db nào, sỬ dụng .NET Framework, sau đó thêm chúng vào dropdownlist, cuối cùng hiển thị chúng.&lt;BR&gt;VB.NET&lt;BR&gt;[code]&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Imports&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Globalization&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Imports&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Collections.Generic&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Imports&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Linq&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Imports&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Web.UI.WebControls&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Partial&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; _Default&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Inherits&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; System.Web.UI.Page&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Protected&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Page_Load(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; sender &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Object&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; e &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; System.EventArgs) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Handles&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Load&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Not&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Page.IsPostBack &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; objDic &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Dictionary(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Of&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)()&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;For&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Each&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; ObjCultureInfo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; CultureInfo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; CultureInfo.GetCultures(CultureTypes.SpecificCultures)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; objRegionInfo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; RegionInfo(ObjCultureInfo.Name)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Not&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; objDic.ContainsKey(objRegionInfo.EnglishName) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;objDic.Add(objRegionInfo.EnglishName, objRegionInfo.TwoLetterISORegionName.ToLower())&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; obj = objDic.OrderBy(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Function&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;(p) p.Key)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;For&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Each&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; val &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; KeyValuePair(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Of&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; obj&lt;/P&gt;&lt;P&gt;ddlCountries.Items.Add(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; ListItem(val.Key, val.Value))&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;ddlCountries.Items.Add(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"--- Please select country ---"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;&lt;P&gt;ddlCountries.SelectedIndex = ddlCountries.Items.Count - 1&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;P&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/FONT&gt;&lt;/FONT&gt;[/code]&lt;BR&gt;C#&lt;BR&gt;[code]&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Collections.Generic;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Globalization;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Linq;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Web.UI.WebControls;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;partial&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;_Default&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; : System.Web.UI.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;Page&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;protected&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Page_Load(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; sender, &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;EventArgs&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; e)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (!Page.IsPostBack)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;Dictionary&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt; objDic = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;Dictionary&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt;();&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;CultureInfo&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; ObjCultureInfo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;CultureInfo&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.GetCultures(&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;CultureTypes&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.SpecificCultures))&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;RegionInfo&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; objRegionInfo = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;RegionInfo&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;(ObjCultureInfo.Name);&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (!objDic.ContainsKey(objRegionInfo.EnglishName))&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;objDic.Add(objRegionInfo.EnglishName, objRegionInfo.TwoLetterISORegionName.ToLower());&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;var&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; obj = objDic.OrderBy(p =&amp;gt; p.Key);&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;KeyValuePair&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt; val &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; obj)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;ddlCountries.Items.Add(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ListItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;(val.Key, val.Value));&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;ddlCountries.Items.Add(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"--- Please select country ---"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/P&gt;&lt;P&gt;ddlCountries.SelectedIndex = ddlCountries.Items.Count - 1; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/FONT&gt;[/code]&lt;P&gt;Giải thích: &lt;BR&gt;ở đây chúng ta sử dụng đối tượng dictionary để cất giữ tên và giá trị của các quốc gia&lt;BR&gt;Sau đó chúng ta sử dụng phương thức CultureInfo.GetCultures để lấy thông tin cultural của quốc gia đó.&lt;BR&gt;Cuối cùng sử dụng RegionInfo để lấy thông tin regional  của culture đó.&lt;BR&gt;&lt;BR&gt;Chính vì thế nó có thể có đa cultures cho 1 quốc gia, đó cũng là lý do tại sao chúng ta có điều kiện kiểm tra xem quốc gia đó đả được thêm vào dictionary hay chưa? Nếu chưa, đơn giản thêm tên quốc gia và 2 ký tự của quốc gia đó.&lt;BR&gt;&lt;BR&gt;Sau vòng lập mình sử dụng Linq để sắp xếp, cuối cùng lập hết các đối tượng được trả về và thêm chúng vào dropdownList.&lt;BR&gt;&lt;BR&gt;Xong! Bây giờ, bạn không chỉ giới hạn để hiển thị tên Tiếng Anh của đất nước, nhưng bạn cũng có thể hiển thị tên nguyên thủy. Ví dụ, tên của quốc gia trong Tiếng Anh là "Cộng hòa Hồi giáo Pakistan", nhưng với tên là پاکستان.&lt;BR&gt;&lt;BR&gt;&lt;IMG src="http://forum.vi-vn.com/Uploads/Images/22195202-ff57-40d7-8a36-ff81.jpg"&gt;&lt;BR&gt;&lt;BR&gt;Một số nhà phát triển đang có quen thuộc của việc sử dụng mã quốc gia cùng với tên quốc gia. nếu họ vẫn muốn sử dụng một số mã để lưu các thông tin quốc gia mà họ có thể sử dụng thuộc tính GeoId của các RegionInfo.&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.aghausman.net/dotnet/Get-Countries-Name-in-Net.html"&gt;Reference&lt;/A&gt;</description><pubDate>Tue, 28 Jul 2009 22:22:14 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Đưa ứng dụng web asp.net lên host.</title><link>http://forum.vi-vn.com/Topic1159-38-1.aspx</link><description>Đưa ứng dụng web asp.net lên host.&lt;BR&gt;&lt;BR&gt;Sau khi phát triển web app xong, giai đọan cuối cùng là đưa web lên host (go live), mình sẻ hướng dẫn các bạn cách đưa ứng dụng go live mà dùng tiện ích có sẳn của Visual Studio(VS).&lt;BR&gt;&lt;BR&gt;Cái quan trọng là mình phải purchase 1 cái host support asp.net, ở đây mình sài free host của godaddy.com (mình mua 1 domain .info có sẳn free host), mình sẻ tạo 1 web app simply (like hello world), giờ đưa nó go live bằng cách.&lt;BR&gt;&lt;BR&gt;Từ solution của VS nhấn vào Coppy Website, hoặc vào Menu Website -&amp;gt; Copy Web Site....&lt;BR&gt;&lt;BR&gt;[url=http://www.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/DeployWebAppz/DeploySolution.png[/img][/url]&lt;BR&gt;&lt;BR&gt;VS sẻ đưa ta đến màng hình sau:&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.vi-vn.com/pubs/Articles/DeployWebAppz/DeployScreen.png"&gt;&lt;IMG src="http://forum.vi-vn.com/Uploads/Images/2f2a421f-ad0e-4b0d-a79b-1808.jpg"&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Sau đó chúng ta nhấn vào Conect, chúng ta chọn FTP site và điền thông tin FTP account vào like this.&lt;BR&gt;&lt;BR&gt;[url=http://www.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/DeployWebAppz/FTPAccount.png[/img][/url]&lt;BR&gt;&lt;BR&gt;Ok nếu thành công chúng ta sẻ có màng hình như sau: 1 bên là local (bên trá) và 1 bên là remote site (bên phải).&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.vi-vn.com/pubs/Articles/DeployWebAppz/connected.png"&gt;&lt;IMG src="http://forum.vi-vn.com/Uploads/Images/4081828a-33d3-4f10-979d-0653.jpg"&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Sau đó mình copy entire các files và folder từ local lên web host.&lt;BR&gt;&lt;BR&gt;Xong giờ view web page&lt;BR&gt;</description><pubDate>Thu, 14 May 2009 02:58:44 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Thay đổi thư mục DynamicData ASP.NET Dynamic Data Entities Web Site.</title><link>http://forum.vi-vn.com/Topic1157-38-1.aspx</link><description>&lt;SPAN lang=EN&gt;&lt;br&gt;&lt;br&gt;Thay đổi thư mục DynamicData ASP.NET Dynamic Data Entities Web Site.&lt;br&gt;&lt;br&gt;ASP.NET Dynamic Data Entities Web Site là 1 tiện ích giúp ta xây dựng ứng dụng dữ liệu trước khi phát triển (data driven developement).&lt;br&gt;&lt;br&gt;Thỉnh thoảng chúng ta có yêu cầu phải move thư mục DynamicData sang 1 location mới, ví dụ như Admin (Admin/DynamicData), theo sau các bước này sẻ giúp các bạn hòan tất công việc đó, giả sử mình duy chuyển toàn bộ thư mục DynamicData vào Admin.&lt;SPAN lang=EN&gt;&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/Topic1157-38-1.aspx][img]http://www.vi-vn.com/pubs/Articles/DynamicData/AdminLocation.png[/img][/url]&lt;br&gt;&lt;br&gt;&lt;/SPAN&gt;1. Đầu tiên chúng ta mở file Global.asaxvà thêm vào dòng sau:&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;model.RegisterContext(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;typeof&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;(NorthwindModel.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face="Courier New"&gt;&lt;FONT color=#2b91af size=2 face="Courier New"&gt;&lt;FONT color=#2b91af size=2 face="Courier New"&gt;NorthwindEntities&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;), &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face="Courier New"&gt;&lt;FONT color=#2b91af size=2 face="Courier New"&gt;&lt;FONT color=#2b91af size=2 face="Courier New"&gt;ContextConfiguration&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;() { ScaffoldAllTables = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;true&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; });&lt;br&gt;&lt;br&gt;model.DynamicDataFolderVirtualPath = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;"~/Admin/DynamicData"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;br&gt;&lt;br&gt;2. Mở file List.aspx và ListDetails.aspx trong thư mục PageTemplates, và thay đổi đường dẩn của GridViewPager.ascx, FilterUserControl.ascx thành.&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;&amp;lt;%&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;@&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;Register&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;Src&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="~/Admin/DynamicData/Content/GridViewPager.ascx"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;TagName&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="GridViewPager"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;TagPrefix&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="asp"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; %&amp;gt;&lt;br&gt;&lt;br&gt;&amp;lt;%&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;@&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;Register&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;Src&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="~/Admin/DynamicData/Content/FilterUserControl.ascx"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;TagName&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="DynamicFilter"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;TagPrefix&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="asp"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; %&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;br&gt;&lt;br&gt;3. Thay đổi đường dẩn của hình trong file List.aspx&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;div&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="bottomhyperlink"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;asp&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;HyperLink&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;ID&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="InsertHyperLink"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="server"&amp;gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;img&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="server"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;src&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="~/Admin/DynamicData/Content/Images/plus.gif"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;alt&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="Insert new item"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;Insert new item&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;asp&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;HyperLink&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;div&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;br&gt;&lt;br&gt;Thay đổi thư mục đường dẩn hình của file Site.master.&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;a&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="server"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;href&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="~/"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;img&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;alt&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="Back to home page"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="server"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;src&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="~/Admin/DynamicData/Content/Images/back.gif"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face="Courier New"&gt;&lt;FONT size=2 face="Courier New"&gt;Back&lt;br&gt;&lt;br&gt;to home page&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;&lt;FONT color=#a31515 size=2 face="Courier New"&gt;a&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;br&gt;&lt;br&gt;Như vậy là xong,&lt;br&gt;&lt;br&gt;Hope this help,&lt;br&gt;&lt;br&gt;QuachNguyen&lt;br&gt;&lt;br&gt;　&lt;br&gt;&lt;br&gt;　&lt;/FONT&gt;&lt;/SPAN&gt;</description><pubDate>Sat, 09 May 2009 23:04:13 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Edit template cho GridView trong trình thiết kế Visual Studio.</title><link>http://forum.vi-vn.com/Topic1155-38-1.aspx</link><description>Edit template cho GridView trong trình thiết kế Visual Studio.&lt;br&gt;&lt;br&gt;GridView là control hiển thị dử liệu asp.net, gridview rất linh động và được render bởi việc sử dụng template. Trong bài viết này mình sẻ hướng dẩn các bạn, làm thế nào chúng ta có thể edit template cho gridview trong Visual Studio Designer.&lt;br&gt;&lt;br&gt;Giả sử chúng ta có 1 gridview connect to database và get dữ liệu từ table Northwind.products, và mình generate câu lệnh insert, delete và update trong khi cấu hình sql data source bởi việc nhấn vào button Advanced..&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_2.png[/img][/url]&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_4.png[/img][/url]&lt;br&gt;&lt;br&gt;Bật chức năng Edit của GridView.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_8.png[/img][/url]&lt;br&gt;&lt;br&gt;Chuyển column sang Template filed, bằng cách select Edit Column trên GridView&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_20.png[/img][/url]&lt;br&gt;&lt;br&gt;Chọn column muốn chuyển và convert TemplateField sau đó nhấn OK.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_26.png[/img][/url]&lt;br&gt;&lt;br&gt;Từ cửa sổ SmartTask của GridView, click chọn Edit Templates..&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_10.png[/img][/url]&lt;br&gt;&lt;br&gt;Từ hộp thoại sổ xuống của GridView chọn EditItem Template&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_12.png[/img][/url]&lt;br&gt;&lt;br&gt;Bạn sẻ thấy giống như hình.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_16.png[/img][/url]&lt;br&gt;&lt;br&gt;Giờ thì có thể edit template, chẳng hạn mình thêm vào control requireFiledValidator.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_18.png[/img][/url]&lt;br&gt;&lt;br&gt;Nếu bạn có nhiều colunm được chuyển sang dạng template thì nó sẻ trông như:&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_24.png[/img][/url]&lt;br&gt;&lt;br&gt;Sau khi chỉnh sửa xong, nhấn vào End Template Editing để hòan tất việc chỉnh sửa.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_30.png[/img][/url]&lt;br&gt;&lt;br&gt;Chuyển sang chế độ View Source, VS generate ra vố số đoạn mã like this:&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com/][img]http://www.vi-vn.com/pubs/Articles/Edit Template/image_28.png[/img][/url]&lt;br&gt;&lt;br&gt;Hope this help,&lt;br&gt;</description><pubDate>Sat, 09 May 2009 10:46:27 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Xóa và chỉnh sửa dữ liệu không cần đến code.</title><link>http://forum.vi-vn.com/Topic1153-38-1.aspx</link><description>&lt;SPAN lang=EN&gt;&lt;br&gt;&lt;br&gt;Xóa và chỉnh sửa dữ liệu không cần đến code.&lt;br&gt;&lt;br&gt;Mình sẻ không chú trọng nhiều đến lý thuyết, mà chỉ quan tâm đến cách thực hiện, làm thế nào chúng ta có thể xóa hoặc chỉnh sửa data xuống database trong asp.net mà không cần đế code.&lt;br&gt;&lt;br&gt;Cách làm:&lt;br&gt;&lt;br&gt;Tạo 1 dự án ASP.NET ngôn ngữ C# (VB.NET tùy)&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ManipulateData/newProject.png[/img][/url]&lt;br&gt;&lt;br&gt;Chúng ta bắt đầu tạo 1 table mới, ở đây mình sẻ connect tới CSDL là Northwind, và tạo 1 database mới tên là Users.&lt;br&gt;&lt;br&gt;Mình sẻ connect trực tiếp trong Visual Studio: Vew --&amp;gt; Server Explorer. Table Users có dạng như hình sau:&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ManipulateData/NewTable.png[/img][/url]&lt;br&gt;&lt;br&gt;Chú ý: UserID ở đây là kiểu uniqueidentifier, sau đó mình nhập 1 vài record cho table Users.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ManipulateData/TableData.png[/img][/url]&lt;br&gt;&lt;br&gt;Kéo table Users từ Server Explorer vào Visual Studio (VS), VS sẻ tự động generate ra GridView control, html code và SQL Data Source.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ManipulateData/Drag.Drop.png[/img][/url]&lt;br&gt;&lt;br&gt;Chúng ta modify 1 số thuộcv tính của GridvView như hình sau, đặc biết Enable Edit, Delete, vì UserID là trường read only (tự động tăng), nên chúng ta hide nó đi.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ManipulateData/EnableEDS.png[/img][/url]&lt;br&gt;&lt;br&gt;OK giờ View lên browser, trang của chúng ta sẻ hiển thị like this.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ManipulateData/Display.png[/img][/url]&lt;br&gt;&lt;br&gt;Click vào link Edit và thử nhập dữ liệu khác.&lt;br&gt;&lt;br&gt;[url=http://forum.vi-vn.com][img]http://www.vi-vn.com/pubs/Articles/ManipulateData/Edit.png[/img][/url]&lt;br&gt;&lt;br&gt;Note: Khi nhấn vào nút Delete, thì nó tự động xóa và không thông báo bất kỳ thông điệp nào, để hiển thị hộp thoại thông báo, chúng ta phải convert command filed sang Item Template, qua của sổ SmartTask, và nhấn vào Edit Column.&lt;br&gt;&lt;br&gt;Và add đọan code này vào:&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;&lt;br&gt;&lt;br&gt;OnClientClick&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;&lt;FONT color=#0000ff size=2 face="Courier New"&gt;="return confirm('Are you sure want to delete this item?');"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Arial&gt;&lt;FONT size=2 face=Arial&gt;&lt;br&gt;&lt;br&gt;Như vậy là xong.&lt;br&gt;&lt;br&gt;hope this help,&lt;br&gt;&lt;br&gt;QuachNguyen&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;</description><pubDate>Sat, 09 May 2009 01:52:43 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Dynamic data trong Visual Studio 2K8 SP1 sử dụng ADO.NET Entities Framework</title><link>http://forum.vi-vn.com/Topic1139-38-1.aspx</link><description>ADO.NET Data Entity Framework được Microsoft phát triển như là 1 sự thay thế cho Linq To Sql, hôm nay mình sẻ hướng dẩn với cách các bạn, làm cách nào để sử dụng Dynamic Data Entities Web Site, nhằm để xây dựng 1 dụng data driven development.&lt;br&gt;&lt;br&gt;Các bước thực hiện:&lt;br&gt;1. Tạo 1 mẫu Dynamic Data Entities Web Site.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/dynamic-entities-web/new-dynamic-data-entities-website.png[/img]&lt;br&gt;&lt;br&gt;Sau khi tạo xong, Visual Studio sẻ generate ra 1 số page và user control kèm theo.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/dynamic-entities-web/full-solution.png[/img]&lt;br&gt;&lt;br&gt;2. Add New Item, chọn ADO.NET Entity Data Model.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/dynamic-entities-web/add-new-ado.net-entity-data-model.png[/img]&lt;br&gt;&lt;br&gt;3. Chọn Generate from Database. (tức là Model sẻ được generate từ database)&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/dynamic-entities-web/choose-source-step1.png[/img]&lt;br&gt;&lt;br&gt;Next.&lt;br&gt;&lt;br&gt;4. Chọn datasource, ở đây mình chọn là CSDL Northwind.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/dynamic-entities-web/choose-source-step2.png[/img]&lt;br&gt;&lt;br&gt;5. Chọn table&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/dynamic-entities-web/choose-source-step3.png[/img]&lt;br&gt;&lt;br&gt;6. Chỉnh sửa file Global.asax&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/dynamic-entities-web/change-data-context.png[/img]&lt;br&gt;&lt;br&gt;Xong, giờ run trang default lên.</description><pubDate>Mon, 04 May 2009 02:58:51 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Dynamic data trong Visual Studio 2K8 SP1 sử dụng Linq To SQL</title><link>http://forum.vi-vn.com/Topic1127-38-1.aspx</link><description>Dynamic data trong Visual Studio 2K8 SP1 sử dụng Linq To SQL&lt;br&gt;&lt;br&gt;Visual studio (VS) 2008 SP1 giới thiệu 1 mẩu web mới, giúp chúng ta dể dàng xây dựng ứng dụng dữ liệu trước khi xây dựng website (data driven development) đó là Dynamic Data WebSite.&lt;br&gt;&lt;br&gt;Hầu hết các ứng dụng ASP.NET đều thao tác với CSDL giống như SQL Server, 90% các đọan mã của chúng ta đều dùng để lấy dữ liệu, cập nhật dữ liệu vào CSDL.&lt;br&gt;&lt;br&gt;Các bước thực hiện:&lt;br&gt;&lt;br&gt;1. Tạo 1 project với mẫu là Dynamic Data WebSite.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/DynamicData/image1.gif[/img]&lt;br&gt;&lt;br&gt;Khi đó VS sẻ tự tạo cho chúng ta 1 số các pages cần thiết để xây dựng website dynamic data.&lt;br&gt;&lt;br&gt;[img]http://forum.vi-vn.com/Uploads/Images/69545153-18e1-4bb9-aff3-e559.gif[/img]&lt;br&gt;&lt;br&gt;Khảo sát các mẫu:&lt;br&gt;&lt;br&gt;Thư mục PageTemplates:&lt;br&gt;&lt;br&gt;- Details.aspx: Sử dụng DetailsView control cho việc hiển thị 1 mẫu tin trong CSDL, mặc định dùng cho việc lựa chọn (Select operation).&lt;br&gt;&lt;br&gt;- Edit.aspx: Sử dụng DetailsView control cho việc chỉnh sửa 1 mẫu tin trong CSDL, mặc định dùng cho việc chỉnh sửa (Edit operation).&lt;br&gt;&lt;br&gt;- Insert.aspx: Sử dụng DetailsView control cho việc thêm 1 mẫu tin trong CSDL, mặc định dùng cho việc thêm (Insert operation).&lt;br&gt;&lt;br&gt;- List.aspx: Sử dụng control GridView hiển thị danh sách các mẫu tin trong CSDL, và 1 control DropDownList cho việc lọc (filter) dữ liệu.&lt;br&gt;&lt;br&gt;- ListDetails.aspx: cũng giống như List.aspx, nhưng có thêm lựa chọn và thêm mẫu tin sử dụng DetailsView control, trang aspx này là trang tất cả trong 1, nhưng mặc định không được sử dụng, chúng ta có thể thay đổi trong file cấu hình Global.asax.&lt;br&gt;&lt;br&gt;Thư mục FieldTemplates:&lt;br&gt;&lt;br&gt;Tập hợp tác các các user control được dùng cho các trang aspx, ví dụ như textbox,nếu thay đổi thì nó được ảnh hưởng cho tấc cả các trang.&lt;br&gt;&lt;br&gt;- Boolean.ascx: Hiển thị kiểu dữ liệu luận lý (Boolean Type), sẻ kết xuất (Render) checkbox control và được disable.&lt;br&gt;&lt;br&gt;- Boolean_Edit.ascx: Cho phép user chỉnh sửa giá trị Boolean.&lt;br&gt;&lt;br&gt;- Children.ascx: Hiển thị các trường có quan hệ một - nhiều, và chuyển user qua trang có quan hệ, kết xuất ra HyperLink control.&lt;br&gt;&lt;br&gt;- DateTime.ascx: Sử dụng Literal hiển thị kiểu dữ liệu DataTime.&lt;br&gt;&lt;br&gt;- DateTime_Edit.ascx: Render ra Textbox control cho việc cập dử liệu kiểu ngày tháng, cũng render ra RequiredFieldValidator nếu trường này không cho phép null trong CSDL.&lt;br&gt;&lt;br&gt;- Decimal_Edit.ascx: Render Textbox control, và CompareValidator để kiểm tra dữ liệu nhập vào có thể chuyển sang dạng Decimal hay không?&lt;br&gt;&lt;br&gt;- ForeignKey.ascx: Hiển thị các trường có quan hệ nhiều - một, và render ra HyperLink control để chuyển user sang trang có quan hệ.&lt;br&gt;&lt;br&gt;- ForeignKey_Edit.ascx: Dùng chỉnh sửa các trường có quan hệ nhiều - một, kết xuất ra DropDownList control cho việc lựa chọn khóa ngoại.&lt;br&gt;&lt;br&gt;- Text.ascx: Render ra Literal cho việc hiển thị dử liệu String, Decimal, Double, Int32, byte, short và long.&lt;br&gt;&lt;br&gt;- Text_Edit.ascx: Render ra Textbox control với TextMod = SingeLine.&lt;br&gt;&lt;br&gt;- Multiline_Edit.ascx: Render ra Textbox control với TextMod = MultiLine,map với các kiểu dữ liệu là TEXT, NTEXT, VARCHAR(MAX), NVARCHAR(MAX), dùng để cập nhật dữ liệu.&lt;br&gt;&lt;br&gt;Tạo dự án: Dynamic Data&lt;br&gt;&lt;br&gt;1. Tạo 1 kết nối tới CSDL Pubs.&lt;br&gt;&lt;br&gt;[img]http://forum.vi-vn.com/Uploads/Images/53882e13-a652-4bcc-9b80-87a7.gif[/img]&lt;br&gt;&lt;br&gt;2. Thêm Linq To SQL class, và named nó là Pubs.dbml.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/DynamicData/image4.gif[/img]&lt;br&gt;&lt;br&gt;3. Kéo bảng title và titleauthor từ server explorer vào trình thiết kế dbml.&lt;br&gt;&lt;br&gt;[img]http://forum.vi-vn.com/Uploads/Images/e6b57b68-e5df-467c-99b1-8c43.gif[/img]&lt;br&gt;&lt;br&gt;4. Vào file Global.asax.cs uncomment dòng lệnh model.RegisterContext và thiết lập ScaffoldAllTables = true và thay đổi data context thành PubsDataContext (đả tạo từ khi nảy)&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/DynamicData/image6.gif[/img]&lt;br&gt;&lt;br&gt;Ok xong, giờ chạy trang default.aspx lên.</description><pubDate>Fri, 01 May 2009 22:40:25 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>MaxLength cho chế độ MultiLine của Textbox trong ASP.NET</title><link>http://forum.vi-vn.com/Topic1110-38-1.aspx</link><description>MaxLength cho chế độ MultiLine của Textbox trong ASP.NET&lt;br&gt;&lt;br&gt;Thường khi chúng ta muốn giới hạn người dùng nhập vào các control Textbox, thi chúng ta dùng thuộc tính MaxLength của control textbox đó, thế nhưng nó sẻ không work, nếu nhưng chúng ta sử dụng chế độ MultiLine của control textbox.&lt;br&gt;&lt;br&gt;Có rất nhiều các giải pháp cho việc giới hạn maxlength cho textbox control với MultiLine Mod, chẳng hạn dùng javascript, để check độ dài của textbox control, thế nhưng cách đó không đúng khi người dùng copy &amp; paste đọan text, mình thấy dùng Regular Expression là 1 trong những cách dể nhất.&lt;br&gt;&lt;br&gt;Vấn đề ở đây là chúng ta định nghỉa 1 cái pattern sao cho đúng với ý đồ của mình, và đây là pattern của nó: Ở đây mình dùng RegularExpressionValidator ASP.NET control.&lt;br&gt;&lt;br&gt;ValidationExpression="^[\s\S]{1,450}$"&lt;br&gt;&lt;br&gt;+ ^ là bắt đầu 1 chuổi.&lt;br&gt;+ \s khớp với các ký tự khỏang trắng, tabs, ký tự xuống hàng.&lt;br&gt;+ \S kjhớp với tất cả các ký tự ngòai khỏang trắng, tabs, ký tự xuống hàng.&lt;br&gt;+ [] nhóm lại 1 nhóm.&lt;br&gt;+{1,450} ít nhất là 1 ký tự và nhiều nhất là 450 ký tự.&lt;br&gt;&lt;br&gt;Hope this help,&lt;br&gt;</description><pubDate>Wed, 22 Apr 2009 09:38:09 GMT</pubDate><dc:creator>Neon</dc:creator></item><item><title>Gửi Bản Tin Cho 1 danh sách mail</title><link>http://forum.vi-vn.com/Topic1024-38-1.aspx</link><description>Hi all!&lt;br&gt;Em muốn gửi 1 bản tin đính kèm cho 100 mail, thì cách làm thế nào ạh, 100 mail này đã có trong database, làm thế nào để website tự động gửi bản tin cho 100 mail này.&lt;br&gt;Thank all</description><pubDate>Thu, 19 Mar 2009 22:00:59 GMT</pubDate><dc:creator>nguyenhung_a1</dc:creator></item><item><title>Thiết lập ssl cho gmail !!</title><link>http://forum.vi-vn.com/Topic965-38-1.aspx</link><description>Mình đang làm hàm send mail tự động viết bằng asp.net, nhưng mình không hiểu hàm cài đặt ssl cho gmail như thế nào và phải làm sao, Các pác ra tay cứu em với, tuần tới em có bài báo cáo về phần này rùi, thanks các pác trước !!</description><pubDate>Mon, 23 Feb 2009 11:28:43 GMT</pubDate><dc:creator>quancongvietnam</dc:creator></item><item><title>Chu trình sống của 1 trang aspx</title><link>http://forum.vi-vn.com/Topic1011-38-1.aspx</link><description>Khi sử dụng master page, đây là chu trình sống của 1 trang thông thường:&lt;br&gt;&lt;br&gt;   1. Page.OnPreInit&lt;br&gt;   2. MasterPageControl.OnInit (for each control on the master page)&lt;br&gt;   3. Control.OnInit (for each contol on the page)&lt;br&gt;   4. MasterPage.OnInit&lt;br&gt;   5. Page.OnInit&lt;br&gt;   6. Page.OnInitComplete&lt;br&gt;   7. Page.OnPreLoad&lt;br&gt;   8. Page.OnLoad&lt;br&gt;   9. MasterPage.OnLoad&lt;br&gt;  10. MasterPageControl.OnLoad (for each control on the master page)&lt;br&gt;  11. Control.OnLoad (for each contol on the page)&lt;br&gt;  12. Page.OnXXX (control event)&lt;br&gt;  13. MasterPage.OnBubbleEvent&lt;br&gt;  14. Page.OnBubbleEvent&lt;br&gt;  15. Page.OnLoadComplete&lt;br&gt;  16. Page.OnPreRender&lt;br&gt;  17. MasterPage.OnPreRender&lt;br&gt;  18. MasterPageControl.OnPreRender (for each control on the master page)&lt;br&gt;  19. Control.OnPreRender (for each contol on the page)&lt;br&gt;  20. Page.OnPreRenderComplete&lt;br&gt;  21. MasterPageControl.SaveControlState (for each control on the master page)&lt;br&gt;  22. Control.SaveControlState (for each contol on the page)&lt;br&gt;  23. Page.SaveViewState&lt;br&gt;  24. Page.SavePageStateToPersistenceMedium&lt;br&gt;  25. Page.OnSaveStateComplete&lt;br&gt;  26. MasterPageControl.OnUnload (for each control on the master page)&lt;br&gt;  27. Control.OnUnload (for each contol on the page)&lt;br&gt;  28. MasterPage.OnUnload&lt;br&gt;  29. Page.OnUnload&lt;br&gt;&lt;br&gt;Hope this help,&lt;br&gt;Neon&lt;br&gt;&lt;br&gt;</description><pubDate>Sun, 08 Mar 2009 18:01:17 GMT</pubDate><dc:creator>Neon</dc:creator></item><item><title>Can Gap bac Bill Gate gap</title><link>http://forum.vi-vn.com/Topic711-38-1.aspx</link><description>lien lac yahoo :thanhan01_st&lt;/P&gt;&lt;P&gt;co j noi sau ,can hoi chut :)</description><pubDate>Wed, 03 Dec 2008 03:41:43 GMT</pubDate><dc:creator>Mylove0209</dc:creator></item><item><title>Tạo trang đăng nhập !</title><link>http://forum.vi-vn.com/Topic703-38-1.aspx</link><description>Em làm trang đăng nhập như sau:&lt;br&gt;&lt;br&gt;[img]http://imagebiblog.googlepages.com/dangnhapaspx.jpg[/img]&lt;br&gt;&lt;br&gt;- Nếu là quyền quản trị sẽ chuyển sang trang admin.aspx&lt;br&gt;- Nếu là sinh viên thì chuyển qua sv.aspx&lt;br&gt;&lt;br&gt;Các anh chị có thể hướng dẫn :&lt;br&gt;- Thiết ké database.(sql)&lt;br&gt;- Kết nối database bằng code.&lt;br&gt;&lt;br&gt;Xin cám ơn rất nhiều !</description><pubDate>Mon, 01 Dec 2008 21:13:06 GMT</pubDate><dc:creator>boyvt</dc:creator></item><item><title>Lập trình ASP.NET Ajax với Kỹ thuật CallBack</title><link>http://forum.vi-vn.com/Topic677-38-1.aspx</link><description>Hế lô các bạn, Tùng xin past lại kỹ thuật Callback :D&lt;br&gt;Trong ASP.NET 2.0 Microsoft đã đưa một kỹ thuật gọi là Callback, kỹ thuật này cho phép ta ứng dụng Ajax vào ASP.NET một cách dễ dàng. Thật ra kỹ thuật Ajax đã được Microsoft gói gọn trong Callback, cho ta ứng dụng lại dễ dàng hơn.&lt;br&gt;Sau đây là các bước ứng dụng Callback vào ASP.NET 2.0 :&lt;br&gt;(Các bạn nên gõ giống hệt thì tốt hơn hết :D)&lt;br&gt;&lt;br&gt;1 - thực hiện implement giao diện(interface) ICallbackEventHandler cho một page trong code behide, 2 method này bắt buộc phải giống hệt như bên dưới :&lt;br&gt;&lt;br&gt;C#:&lt;br&gt;    public partial class _Default : System.Web.UI.Page,[b] ICallbackEventHandler[/b]&lt;br&gt;&lt;br&gt;VB:&lt;br&gt;&lt;br&gt;Partial Class _Default&lt;br&gt;    Inherits System.Web.UI.Page&lt;br&gt;    Implements ICallbackEventHandler&lt;br&gt;&lt;br&gt;2 - thực thi 2 method [b]RaiseCallbackEvent [/b]và [b]GetCallbackResult[/b] của giao diện ICallbackEventHandler &lt;br&gt;&lt;br&gt;C#:&lt;br&gt;    #region ICallbackEventHandler Members&lt;br&gt;    //Trả về kết quả ở đây&lt;br&gt;    public string GetCallbackResult()&lt;br&gt;    {&lt;br&gt;        return "ASP.NET - callback";&lt;br&gt;    }&lt;br&gt;    //bắt lấy các tham số truyền từ Client đến bằng tham số clientArg&lt;br&gt;    public void RaiseCallbackEvent(string eventArgument)&lt;br&gt;    {&lt;br&gt;        Callback = eventArgument;&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    #endregion&lt;br&gt;&lt;br&gt;VB:&lt;br&gt;    Public Function GetCallbackResult() As String Implements System.Web.UI.ICallbackEventHandler.GetCallbackResult&lt;br&gt;        Return "ASP.NET - callback"&lt;br&gt;    End Function&lt;br&gt;&lt;br&gt;    Public Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent&lt;br&gt;        CallBack = eventArgument&lt;br&gt;    End Sub&lt;br&gt;&lt;br&gt;3- Thực hiện đăng ký hàm Callback cho page&lt;br&gt;Ta khai báo một biến kiểu String và đăng ký trong sự kiện Page_load :&lt;br&gt;&lt;br&gt;C#:&lt;br&gt;    public string Callback;&lt;br&gt;    protected void Page_Load(object sender, EventArgs e)&lt;br&gt;    {&lt;br&gt;        // 1 _ bắt đầu trả giá trị Callback về cho Client (trong hàm CalltoServer)&lt;br&gt;        // this - tên control đăng ký Callback&lt;br&gt;        // "arg" - tên tham số truyền đến từ Client&lt;br&gt;        // "GetvaluefromServer" - tên hàm sẽ xử lý phía Client&lt;br&gt;        // "context"  - trạng thái của Callback&lt;br&gt;        // "OnError" - tên hàm xử lý lỗi ở phía Client&lt;br&gt;        // true - cho biết xử lý bất đồng bộ hay không&lt;br&gt;        Callback = ClientScript.GetCallbackEventReference(this, "arg", "GetvaluefromServer", "context", "OnError", true);&lt;br&gt;    }&lt;br&gt;&lt;br&gt;VB:&lt;br&gt;    Public CallBack As String&lt;br&gt;&lt;br&gt;    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load&lt;br&gt;        CallBack = ClientScript.GetCallbackEventReference(Me, "arg", "GetValueFromServer", "context", "OnError", True)&lt;br&gt;    End Sub&lt;br&gt;&lt;br&gt;4 - Thực hiện các hàm JavaScript xử lý ở phía Client, các bạn chú ý đoạn Script&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/AjaxCallBack/CallBackHTMLCode.png[/img]&lt;br&gt;&lt;br&gt;Sau đó các bạn dùng một control HTML, trên sự kiện Onclick của nó, các bạn gọi hàm CalltoServer().&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/AjaxCallBack/HTMLButton.png[/img]&lt;br&gt;&lt;br&gt;Trên là một ví dụ cơ bản về Callback trong ASP.NET 2.0. Không biết các bạn có hiểu hôn :D&lt;br&gt;&lt;br&gt;Download code: CS và VB.NET&lt;br&gt;http://www.vi-vn.com/pubs/Articles/AjaxCallBack/CallBack.rar&lt;br&gt;&lt;br&gt;Edit by Bill_Gates - Thank Mr Tùng (owner)</description><pubDate>Tue, 25 Nov 2008 07:56:00 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>Mô hình MVC</title><link>http://forum.vi-vn.com/Topic196-38-1.aspx</link><description>Bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox PARC ở Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình hướng đối tượng (Object Oriented Programming) cho phép lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model – View – Controller).&lt;br&gt;&lt;br&gt;Trong kiến trúc MVC, một đối tượng đồ họa (GUI Component) bao gồm 3 thành phần cơ bản: Model, View, và Controller. Model có trách nhiệm đối với toàn bộ dữ liệu cũng như trạng thái của đối tượng đồ họa. View chính là thể hiện trực quan của Model, hay nói cách khác chính là giao diện của đối tượng đồ họa. Và Controller điều khiển việc tương tác giữa đối tượng đồ họa với người sử dụng cũng như những đối tượng khác.&lt;br&gt;&lt;br&gt;Khi người sử dụng hoặc những đối tượng khác cần thay đổi trạng thái của đối tượng đồ họa, nó sẽ tương tác thông qua Controller của đối tượng đồ họa. Controller sẽ thực hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi nào ở xảy ra ở Model, nó sẽ phát thông điệp (broadcast message) thông báo cho View và Controller biết. Nhận được thông điệp từ Model, View sẽ cập nhật lại thể hiện của mình, đảm bảo rằng nó luôn là thể hiện trực quan chính xác của Model. Còn Controller, khi nhận được thông điệp từ Model, sẽ có những tương tác cần thiết phản hồi lại người sử dụng hoặc các đối tượng khác.&lt;br&gt;&lt;br&gt;Lấy ví dụ một GUI Component đơn giản là Checkbox. Checkbox có thành phần Model để quản lý trạng thái của nó là check hay uncheck, thành phần View để thể hiện nó với trạng thái tương ứng lên màn hình, và thành phần Controller để xử lý những sự kiện khi có sự tương tác của người sử dụng hoặc các đối tượng khác lên Checkbox. Khi người sử dụng nhấn chuột vào Checkbox, thành phần Controller của Checkbox sẽ xử lý sự kiện này, yêu cầu thành phần Model thay đổi dữ liệu trạng thái. Sau khi thay đổi trạng thái, thành phần Model phát thông điệp đến thành phần View và Controller. Thành phần View của Checkbox nhận được thông điệp sẽ cập nhật lại thể hiện của Checkbox, phản ánh chính xác trạng thái Checkbox do Model lưu giữ. Thành phần Controller nhận được thông điệp do Model gởi tới sẽ có những tương tác phản hồi với người sử dụng nếu cần thiết.&lt;br&gt;&lt;br&gt;Kiến trúc MVC đã tách biệt (decoupling) sự phụ thuộc giữa các thành phần trong một đối tượng đồ họa, làm tăng tính linh động (flexibility) và tính tái sử dụng (reusebility) của đối tượng đồ họa đó. Một đối tượng đồ họa bấy giờ có thể dễ dàng thay đổi giao diện bằng cách thay đổi thành phần View của nó trong khi cách thức lưu trữ (Model) cũng như xử lý (Controller) không hề thay đổi. Tương tự, ta có thể thay đổi cách thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa mà những thành phần còn lại vẫn giữ nguyên.&lt;br&gt;&lt;br&gt;Kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều framework và thư viện đồ họa khác nhau. Tiêu biểu là bộ thư viện đồ họa của ngôn ngữ lập trình hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên cứu và phát triển vào thập niên 70 của thế kỷ 20). Các Swing Components của Java cũng được xây dựng dựa trên kiến trúc MVC. Ví dụ đi cùng với JButton là ButtonUI (thành phần View) và ButtonModel (thành phần Model). Ta hoàn toàn có thể viết MyButtonUI hoặc YourButtonUI để thay đổi giao diện của JButton theo ý mình (tương tự cho ButtonModel). Một điểm khá thú vị đối với Swing Components là nó cho phép ta chỉ thay đổi giao diện một phần nào đó của component. Ví dụ ta có thể thay đổi thể hiện của list item trong JList thông qua ListCellRenderer.&lt;br&gt;&lt;br&gt;Ngay cả Microsoft Visual C++ (VC++) cũng ứng dụng MVC để xây dựng Document View Architecture. Bạn nào đã từng tạo một project MDI trong VC++ đều thấy rằng VC++ sẽ tạo ra các lớp CXXXDoc và CXXXView (XXX là tên project của chúng ta). CXXXDoc chính là thành phần Model và CXXXView là thành phần View của chương trình. Như vậy nếu theo đúng kiến trúc MVC thì tất cả những xử lý liên quan đến lưu trữ dữ liệu của chương trình phải được đặt ở CXXXDoc, còn những xử lý liên quan đến việc thể hiện phải được đặt ở CXXXView. Khi có sự thay đổi dữ liệu ở CXXXDoc, cần cập nhật lại hiển thị ở CXXXView, CXXXDoc sẽ gọi hàm UpdateAllView của nó để phát thông điệp thông báo cho tất cả các View gắn kết với nó. Tại CXXXView ta bắt sự kiện OnUpdate để cập nhật lại hiển thị của View. Hồi đó mỗi lần làm chương trình VC++, tchya đặt tất cả xử lý ở CXXXView, xong rồi ở CXXXDoc hay CMainFrame cần gọi cái gì đó của CXXXView thì cứ việc khai báo một con trỏ pView trỏ đến CXXXView. hì hì, giờ nghĩ lại thấy “bưởi” quá. Vì như vậy vô tình ta đã làm cho CXXXDoc và CMainFrame phụ thuộc (coupling) vào CXXXView, khi muốn thay đổi View thì rất khó khăn.&lt;br&gt;&lt;br&gt;Khi cài đặt kiến trúc MVC ta cần lưu ý những điểm sau:&lt;br&gt;&lt;br&gt;- Thành phần Model không cần thiết phải biết đến các View và Controller cụ thể gắn kết với nó. Khi có thay đổi, Model chỉ việc phát thông điệp cho những ai đăng ký với nó. Điều này có thể được thực hiện thông qua Observer Pattern.&lt;br&gt;- Nên áp dụng Facade Pattern để kết hợp Model, View, và Controller lại với nhau thành “3 trong 1” cho dễ quản lý và thao tác đối với người sử dụng.&lt;br&gt;- Kiến trúc MVC không phải là kiến trúc 3 tầng (3-Tiers Architecture). Mặc dù giữa 2 kiến trúc này có nhiều điểm tương đồng nhưng chúng nói về 2 khía cạnh khác nhau.&lt;br&gt;&lt;br&gt;Mô hình MVC đơn giản&lt;br&gt;[img]http://files.dot.net.vn/Image.ashx/image=png/5c59f9cc31a440d5bfe0703e74bc23ef-MVC1.png/MVC1.png[/img]&lt;br&gt;&lt;br&gt;[img]http://files.dot.net.vn/Image.ashx/image=png/1b0654cf15c949e49592c2d4d211852f-MVC2.png/MVC2.png[/img]&lt;br&gt;&lt;br&gt;Mô hình MVC phức tạp hơn 1 tí&lt;br&gt;&lt;br&gt;[img]http://files.dot.net.vn/Image.ashx/image=png/0e8dd650fd4a4a89a26d0b43a258d641-MVC3.png/MVC3.png[/img]&lt;br&gt;&lt;br&gt;Về .net, bác Bill đã xây dựng tương đối ok về mô hình này rồi, nên việc cần làm là áp dụng sao cho đúng cách là dc.&lt;br&gt;&lt;br&gt;Theo: dot.net.vn</description><pubDate>Tue, 23 Sep 2008 11:36:31 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>ListView control và LinqDataSource trong ASP.NET</title><link>http://forum.vi-vn.com/Topic355-38-1.aspx</link><description>ListView control và LinqDataSource trong ASP.NET&lt;br&gt;&lt;br&gt;Một sự thay thế cho GridView và SqlDataSource trên ASP.NET 2.0, ListView control là 1 trong những control mới trên ASP.NET 3.5, là control trình bày dử liệu, rất linh động, và hổ trợ các chức năng xây dựng sẳn như: thêm, xoá, sửa, sắp xếp dử liệu.&lt;br&gt;&lt;br&gt;bảng so sánh giửa control ListView và các control trình bày dử liệu khác:&lt;br&gt;&lt;br&gt;http://forum.vi-vn.com/forum/Topic182-38-1.aspx&lt;br&gt;&lt;br&gt;LinqDataSource là control cho phép chúng ta mốc nói tới dử liệu với nhiều Datasource khác nhau như: Database, các lớp datasource, dử liệu trong bộ nhớ. Nhưng với LinqDataSource sẻ làm đơn giản tác động giửa lập trình hướng đối tượng và dử liệu quan hệ.&lt;br&gt;&lt;br&gt;Thông tin thêm:&lt;br&gt;http://msdn.microsoft.com/en-us/library/bb547113.aspx&lt;br&gt;&lt;br&gt;Bắt đầu bởi việc tạo mới dự án ASP.NET chọn ngôn ngữ mà bạn đang làm việc. Ở đây mình hổ trợ cả 2 C# và VB.NET&lt;br&gt;&lt;br&gt;Mình tạo 1 blank solution tên là ListViewControl, sau đó thêm ứng dụng ASP.NET ngôn ngữ C#, và VB.NET&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/Solution.png[/img]&lt;br&gt;&lt;br&gt;Mình add new Item và chọn Linq To Sql Classes&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/AddLINQ2SQLCS.png[/img]&lt;br&gt;&lt;br&gt;Visual Studio sẻ mớ của xổ Linq To Sql Surface.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/Linq2SqlSurface.png[/img]&lt;br&gt;&lt;br&gt;Chọn Sql Explorer --&gt; Add Connections --&gt; Microsoft SQL server&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/NwindConnection.png[/img]&lt;br&gt;&lt;br&gt;Kéo table Employee từ bên Sql Explorer sang Linq To Sql surface.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/DrapCustomerToSurface.png[/img]&lt;br&gt;&lt;br&gt;Từ trang Default.aspx thêm control LinqToDataSource vào và cấu hình datasource&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/ConfigDataSource.png[/img]&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/NwindDataContext.png[/img]&lt;br&gt;&lt;br&gt;Click Next.&lt;br&gt;&lt;br&gt;Chọn mẩu tin mà bạn muốn hiển thị.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/EmpRecord.png[/img]&lt;br&gt;&lt;br&gt;Click Finish&lt;br&gt;&lt;br&gt;Chọn Enable Delete, Insert, Update trong cửa số smart task .&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/LinqEnable.png[/img]&lt;br&gt;&lt;br&gt;Từ Toolbox kéo ListView control vào và cho datasource là LinqToSqlDataSource1&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/ListViewChooseDatasource.png[/img]&lt;br&gt;&lt;br&gt;Cấu hình cho ListView&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/ConfigListView.png[/img]&lt;br&gt;&lt;br&gt;Chọn Enable Editing, Inserting, Deleting và Paging. --&gt; Click Ok&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/ListViewEnable.png[/img]&lt;br&gt;&lt;br&gt;Hit F5 hoặc click chuột phải chọn View in Browser.Thử sửa 1 mẩu tin xem sao, &lt;br&gt;&lt;br&gt;Could not find a row that matches the given keys in the original values stored in ViewState.  Ensure that the 'keys' dictionary contains unique key values that correspond to a row returned from the previous Select operation.&lt;br&gt;&lt;br&gt;Nếu các bạn gặp phải cái lổi như trên thì set lại datakey name cho ListView nhé.&lt;br&gt;&lt;br&gt;[img]http://www.vi-vn.com/pubs/Articles/ListView/SetDataKeyName.png[/img]&lt;br&gt;&lt;br&gt;Xong, Bạn nên Layout cho ListView lại bằng cách bỏ các record vào table hay tag div.&lt;br&gt;&lt;br&gt;[code]http://www.vi-vn.com/pubs/Articles/ListView/ListViewControl.rar[/code]&lt;br&gt;&lt;br&gt;Happy coding!&lt;br&gt;QuachNguyen</description><pubDate>Thu, 09 Oct 2008 23:27:42 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item><item><title>So sánh ListView với GridView, DataList và Repeater</title><link>http://forum.vi-vn.com/Topic182-38-1.aspx</link><description>So sánh ListView với GridView, DataList và Repeater&lt;BR&gt;&lt;BR&gt;ListView control là 1 control hiển thị dử liệu mới được thêm vào trong .NET 3.5, bạn có lẻ tự hỏi là tại sao nó được thêm vào và nó cung cấp những gì?&lt;BR&gt;&lt;BR&gt;Một số tính năng cơ bản nhất của ListView control:&lt;BR&gt;1. Rất linh động và bố trí tùy thích.&lt;BR&gt;2. Xây dựng sẳn tính năng phân trang kết hợp với DataPager control.&lt;BR&gt;3. Hổ trợ nhóm dử liệu.&lt;BR&gt;4. Xây dựng sẳn các tính năng như: thêm, xóa, sửa, sắp xếp dử liệu.&lt;BR&gt;&lt;BR&gt;Hãy nhìn vào bảng so sánh bên dưới bạn sẻ rỏ:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=MsoTableGrid style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 442.65pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellSpacing=0 cellPadding=0 width=590 border=1&gt;&lt;TBODY&gt;&lt;TR style="HEIGHT: 11.25pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 442.65pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" width=590 colSpan=7&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Các tính năng hổ trợ&lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="HEIGHT: 11.25pt; mso-yfti-irow: 1"&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 57.95pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width=77&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Control&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 65.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=87&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Phân trang&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 44.05pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=59&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Nhóm&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 90.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=120&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;bố trí linh động&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 80.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=108&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Cập nhật/ Xoá&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 42.35pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=56&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Thêm&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 62.15pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=83&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Sắp xếp&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="HEIGHT: 11.25pt; mso-yfti-irow: 2"&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 57.95pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width=77&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;ListView&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 65.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=87&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 44.05pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=59&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 90.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=120&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 80.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=108&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 42.35pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=56&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 62.15pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=83&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="HEIGHT: 11.25pt; mso-yfti-irow: 3"&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 57.95pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width=77&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;GridView&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 65.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=87&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 44.05pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=59&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 90.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=120&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 80.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=108&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 42.35pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=56&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 62.15pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=83&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="HEIGHT: 11.25pt; mso-yfti-irow: 4"&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 57.95pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width=77&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;DataList&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 65.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=87&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 44.05pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=59&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 90.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=120&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 80.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=108&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 42.35pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=56&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 62.15pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=83&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="HEIGHT: 11.25pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes"&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 57.95pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width=77&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Repeater&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 65.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=87&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 44.05pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=59&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 90.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=120&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;hổ trợ&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 80.75pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=108&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 42.35pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=56&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 62.15pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 11.25pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width=83&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;không&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt;Control GridView: nó hổ trợ phân trang, nhưng không linh động trong việc bố trí, mục tiêu chính cho việc hiển thị dử liệu, không xây dựng sẳn chức năng thêm, tức là chúng ta không thể gọi phương thức thêm, khi chúng ta nhấn vào nút (Button) với CommandName là "Insert".&lt;BR&gt;&lt;BR&gt;Control DataList: nó hổ trợ nhóm dử liệu, thông qua thuộc tính RepeatColumns, nhưng nó không có xây dựng sẳn chức năng phân trang, thêm, xoá, cập nhật dử liệu, nhìn vào các bố trí của nó, thì mặc định datalist biểu hiện (render) như dạng bảng html và bạn phải thiết lập thuộc tính flowLayout của nó thành Flow để ngăn chặn hành xử này.&lt;BR&gt;&lt;BR&gt;Repeater control: cung cấp việc bố trí 1 cách linh động, nhưng nó không có hổ trợ nhóm, thêm, xóa, cập nhật và phân trang dử liệu.&lt;BR&gt;&lt;BR&gt;Tóm lại:&lt;BR&gt;ListView control được thêm vào hổ trợ các tính năng cùng lúc, cho nên bạn sẻ dể dàn hiển thị tùy biến cách bố trí, mà nó hổ trợ nhóm, phân trang, thêm, xoá, cập nhật và sắp xếp dử liệu.&lt;BR&gt;</description><pubDate>Sat, 20 Sep 2008 20:32:39 GMT</pubDate><dc:creator>Bill_Gates</dc:creator></item></channel></rss>