Visual Studio .NET hay Visual Web Developer là công cụ tốt để xây dựng các trang ASP.NET, nhưng chưa phải hoàn hảo. Có những công cụ bổ sung tăng cường tính năng của trang ASP.NET và giảm bớt công sức của lập trình viên. Điều tuyệt vời là nhiều công cụ rất hữu ích lại hoàn toàn miễn phí, đa phần trong số đó là mã nguồn mở.
Xử lý văn bản với FreeTextBox
Điều khiển TextBox và TextArea cho phép người dùng nhập một đoạn văn bản, nhưng tất cả chỉ có thế, họ không thể làm gì khác: không thể đổi font chữ, kiểu chữ, màu sắc... Bạn sẽ không phải tự mình viết riêng một trình xử lý văn bản để tích hợp vào trang web của mình, vì FreeTextBox (http://www.freetextbox.com, phiên bản mới nhất 3.1.6, giấy phép: Freeware) có thể làm điều đó thay cho bạn. FreeTextBox là một công cụ xử lý văn bản khá mạnh, đặc biệt có 2 phần Design và HTML nên rất linh hoạt cho cả người dùng chuyên nghiệp và nghiệp dư. Tính năng chính của FreeTextBox bao gồm: Thay đổi font, kích thước và kiểu chữ; Chèn liên kết, Chèn ảnh; Bullet và Numbering; Sắp đoạn; Undo/Redo...
FreeTextBox còn có phiên bản Professional có phí với những tính năng mở rộng và phiên bản Distrubution bao gồm bản Pro và mã nguồn. Tuy nhiên phiên bản Free cũng đã đáp ứng được hầu hết yêu cầu thông thường.
FreeTextBox có các phiên bản dành cho ASP.NET 1.0, 1.1, 2.0, bạn phải chọn đúng phiên bản của file FreeTextBox.dll để cho vào thư mục bin. Cần chú ý là các tài nguyên như ảnh, JavaScript, xml... đã được đặt vào trong file FreeTextBox.Dll. Với ASP.NET 2.0, chúng sẽ được dùng một cách tự động, nhưng trong ASP.NET 1.1 bạn phải thêm vào web.config đoạn mã sau:
Để thêm FreeTextBox, bạn bổ sung đoạn mã này vào đầu trang:
<%@ Register TagPref*x="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
Và thêm đoạn mã này vào nơi bạn đặt FreeTextBox
Bạn có thể thiết lập khá nhiều thứ trong FreeTextBox: sửa đổi lại thanh Toolbar cho phù hợp với ý mình, chọn skin của toolbar (Office 2000/XP/2003/Mac) cũng như ngôn ngữ sử dụng. Bạn có thể dùng thuộc tính thiết lập hoặc dùng mã điều khiển để có được một công cụ xử lý văn bản như ý.
Ngoài ra còn có FCK Editor, RadEditor, Editor trong AJAX control tookit cũng rất hay để các bạn sử dụng.
Hộp thoại chờ với BusyBoxDotNet
Không thể tránh khỏi những lúc website của bạn phải xử lý một lượng lớn công việc hay dữ liệu, có thể mất đến vài phút. Lúc này bạn cần phải thông báo cho người dùng biết. BusyBoxDotNet là lựa chọn thích hợp cho yêu cầu này.
BusyBox (http://busybox.sourceforge.net phiên bản mới nhất là 0.3, giấy phép: mã nguồn mở), cho phép bạn hiển thị thông báo (tùy ý) đến người dùng trong khi trang web đang xử lý bên dưới. Sau khi tải về thư viện của BusyBox (BusyBoxDotNet.dll và ICSharpCode.SharpZipLib.dll), bạn đặt chúng vào thư mục bin và tiến hành các bước sau:
- Thêm đoạn mã sau vào section trong web.config
verb="*"
type="BusyBoxDotNet.ResourceHttpHandler, BusyBoxDotNet" />
- Đăng kí điều khiển mới ở đầu trang
<%@ Register Assembly="BusyBoxDotNet" Namespace="BusyBoxDotNet" TagPref*x="busyboxdotnet" %>
- Thêm tiếp đoạn mã sau
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- Thêm một điều khiển busyboxdotnet vào bất cứ chỗ nào bạn muốn. Giống như các điều khiển Timer hay FileDialog, vị trí của điều khiển này không quan trọng.
Để sử dụng tính năng BusyBox, thêm đoạn mã sau vào sự kiện cần nhiều thời gian xử lý:
System.Threading.Thread.Sleep(3000);
Chú ý, khi BusyBox hiện lên thì không thể tương tác với tất cả các thành phần phía dưới trang web.
Điều quan trọng đối với BusyBox là có thể điều chỉnh hộp thoại thông báo theo ý mình, bạn có thể chỉnh sửa nhiều thiết lập trong phần properties của điều khiển BusyBoxDotNet ở trên.
BusyBox có 4 chế độ hiển thị:
OnPostBackOnly: Chỉ hiện hộp thoại khi trang gọi PostBack
OnLeavingPage: Chỉ hiện hộp thoại khi đồng thời là PostBack và đang chuyển sang trang web khác
OnLoad: Hộp thoại sẽ hiện kể từ khi trang bắt đầu sinh (render) và tự động ẩn khi đã sinh xong (bất kể khoảng thời gian thiết lập ở trên đã hết hay chưa). Nếu dùng chế độ này, Overlay phải được chuyển thành False, nếu không sẽ gây ra một lỗi ngoại lệ. OnLoad sẽ không có tác dụng với sự kiện Page_Load.
Custom: Hộp thoại sẽ không tự động hiện ra mà bạn sẽ tự điều khiển thời gian xuất hiện và ẩn của nó.
Còn rất nhiều công cụ hữu ích và miễn phí khác có thể bổ sung những tính năng hay cho trang ASP.NET của bạn.
Theo PCWorld