2011-12-21 32 views
6

Tôi đang tạo một ứng dụng liên quan đến việc đăng nhập vào máy chủ, tuy nhiên, dữ liệu bài đăng cần một số mã hóa.Làm cách nào tôi có thể sử dụng hàm HtmlEncode (hoặc HtmlDecode) trong Visual Studio (vb.net)?

Dim strEncUsername As String = Server.HtmlEncode(Me.txtUsername.Text) 

Tuy nhiên, vì đây không phải là ứng dụng asp.net, điều này không hiệu quả. Làm thế nào hay tôi phải làm điều này? Tôi đã cố gắng tìm kiếm một điều nhập khẩu, nhưng không có may mắn thực sự.

Trả lời

13

Nếu bạn thêm một tham chiếu đến System.Web để dự án của bạn, bạn có thể sử dụng sau đây để html mã hóa chuỗi của bạn

Dim strEncUsername As String = System.Web.HttpUtility.HtmlEncode(Me.txtUsername.Text) 

MSDN Documentation for HttpUtility.HtmlEncode

Sửa
Ảnh chụp màn hình của IntelliSense cho thấy HtmlEncode:
Screenshot of intellisense showing HtmlEncode

Ảnh chụp màn hình tham chiếu trong projec t:
Screenshot of references in project

Output từ ứng dụng:

unsafe text: <em>evil em tags within</em> 
safe text: &lt;em&gt;evil em tags within&lt;/em&gt; 
+0

Không hoạt động. (vấn đề phổ biến nhất bao giờ hết đối với bất kỳ coder nào). 'HTTPUtility' không phải là thành viên của 'Web'. Tôi đang sử dụng VS 2008. Đây có phải là thành viên mới của không gian tên System.web không? Nó không nên. –

+0

@AustinBurk, nó là một phần của System.web kể từ ít nhất .Net Framework 1.1 theo MSDN. Bạn chắc chắn đã tham chiếu đúng DLL? Tôi sẽ tạo một ứng dụng bảng điều khiển nhanh để tự kiểm tra. – davidsleeps

+0

Điều bình luận ngu ngốc này không muốn cho tôi ngắt dòng. Khá chắc chắn. (trước đó trong mã: Imports System.Web sau trong mã: Dim strEncUsername As String = System.Web.HttpUtility.HtmlEncode (Me.txtUsername.Text) –

1

Bạn shoud sử dụng HttpUtility (thêm tham chiếu đến System.Web đầu tiên).

5

System.web không có trong hồ sơ khách hàng NET 4.0 ... Tôi tự hỏi tại sao.

Nó thậm chí không thể được thêm làm tham chiếu.

Nhưng điều tương tự có thể được thực hiện bằng cách sử dụng:

System.Net.WebUtility.HtmlDecode

+0

Cảm ơn, tôi JUST đã làm điều này như một tháng trước đây và đã quên, nhưng bạn có nó đúng.Đối với 4.0+ bạn cần System.Net.WebUtility.Tôi vui mừng, tôi đã hoàn toàn loại bỏ System.Web từ các ứng dụng web của tôi.Đó là tất cả System.Net – Suamere

Các vấn đề liên quan