Why is System.Web.HttpUtility.UrlEncode giving namespace name doesn't exist in Visual C# 2008?

荒凉一梦 提交于 2019-12-04 08:11:14

问题


I'm trying to encode a URL using the HttpUtility.UrlEncode() method, why am I getting

The type or namespace name 'HttpUtility' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

error ? I'm using Visual C# 2008, Express Edition.

The code I'm using is simplistic:

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();

        }

    }
}

回答1:


You need to include a reference to System.Web. Right-click your project in the Solution Explorer and choose Add Reference... . If you take a look at MSDN you'll see it's contained in the System.Web.dll assembly, as far as I remember, this is not referenced by default in new projects.




回答2:


Just in case anyone stumbles across this, is running VS 2010 and cannot find System.Web in the available references...

Right click on the project and select Properties, if the Target Framework is set to ".Net Framework 4 Client" then change it to ".Net Framework 4".

But beware this will close, reopen and rebuild your project (also if you have a web service references these will need to be refreshed)




回答3:


For people using .NET 4.0 or later, you can use WebUtility.UrlEncode which works with client profile (does not require System.Web assembly reference).




回答4:


  1. click on project tab in menu
  2. click on Add References
  3. in References window click on Framework and check the System.Web


来源:https://stackoverflow.com/questions/1366290/why-is-system-web-httputility-urlencode-giving-namespace-name-doesnt-exist-in-v

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!