2009-09-02 37 views
20

Tôi đang cố gắng để mã hóa URL bằng cách sử dụng phương pháp HttpUtility.UrlEncode(), tại sao tôi lại nhận đượcTại sao System.Web.HttpUtility.UrlEncode cho tên không gian tên không tồn tại trong Visual C# 2008?

Loại hoặc namespace tên 'HttpUtility' không tồn tại trong không gian tên 'System.Web' (là bạn thiếu một lắp ráp tham khảo?)

lỗi? Tôi đang sử dụng Visual C# 2008, Express Edition.

Mã Tôi đang sử dụng là đơn giản:

using System; 
using System.Text; 
using System.Windows.Forms; 
using System.Net; 
using System.IO; 
using System.Web; 
namespace Lincr 
{ 
    public partial class frmMain : Form 
    { 
     public frmMain() 
     { 
      InitializeComponent(); 
     } 

     private void cmdShorten_Click(object sender, EventArgs e) 
     { 
      WebRequest wrURL; 
      Stream objStream; 
      wrURL = WebRequest.Create("http://lin.cr?l=" + System.Web.HttpUtility.UrlEncode(txtURL.Text) + "&mode=api&full=1"); 
      objStream = wrURL.GetResponse().GetResponseStream(); 
      StreamReader objSReader = new StreamReader(objStream); 
      textBox1.Text = objSReader.ReadToEnd().ToString(); 

     } 

    } 
} 

Trả lời

27

Bạn cần phải bao gồm một tham chiếu đến System.Web. Nhấp chuột phải vào dự án của bạn trong Solution Explorer và chọn Thêm tham chiếu .... Nếu bạn nhìn vào MSDN bạn sẽ thấy nó nằm trong hội đồng System.Web.dll, theo như tôi nhớ, điều này không được tham chiếu theo mặc định trong các dự án mới.

+0

không "using System.web" thêm tham chiếu tự động? – Sathya

+0

Bạn đã kiểm tra xem nó đã được tham chiếu chưa? –

+0

Thực tế nó không được tham chiếu, đã thêm tham chiếu và hoạt động. – Sathya

29

Chỉ trong trường hợp bất cứ ai tình cờ ngang qua đây, đang chạy VS 2010 và không thể tìm thấy System.Web trong tài liệu tham khảo có sẵn ...

Nhấp chuột phải vào dự án và chọn Properties, nếu khung Target được đặt thành " .Net Framework 4 Client "sau đó thay đổi nó thành" .Net Framework 4 ".

Nhưng hãy cẩn thận này sẽ đóng, mở lại và xây dựng lại dự án của bạn (còn nếu bạn có một tài liệu tham khảo dịch vụ web này sẽ cần phải được làm mới)

+2

+1 Cảm ơn. Tôi thường không sử dụng Express, vì vậy tôi đã tự hỏi tại sao tôi không thể tìm thấy tài liệu tham khảo này. – kervin

+0

Rực rỡ. Cảm ơn. – Domenic

+0

Cảm ơn bạn! Tôi nghĩ rằng tôi đã thiếu một cái gì đó hiển nhiên. – MrZander

0
  1. nhấp chuột vào tab dự án trong menu
  2. nhấp chuột vào Thêm tài liệu tham khảo
  3. trong cửa sổ tài liệu tham khảo nhấp chuột vào khung và kiểm tra System.Web
2

Đối với những người sử dụng .NET 4.0 hoặc cao hơn, bạn có thể sử dụng WebUtility.UrlEncode mà làm việc với khách hàng chuyên nghiệp tệp (không yêu cầu tham chiếu assembly System.Web).

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