我正在尝试使用HttpUtility.UrlEncode()
方法对网址进行编码,为什么我会
名称空间'System.Web'中不存在类型或命名空间名称'HttpUtility'(您是否缺少程序集引用?)
错误? 我正在使用Visual C#2008,Express Edition。
我使用的代码很简单:
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();
}
}
}
答案 0 :(得分:30)
您需要添加对System.Web
的引用。在Solution Explorer中右键单击您的项目,然后选择 Add Reference ... 。如果您查看MSDN,您会看到它包含在System.Web.dll
程序集中,据我记忆,默认情况下,新项目中没有引用它。
答案 1 :(得分:29)
万一有人遇到这种情况,运行VS 2010并且无法在可用的引用中找到System.Web ...
右键单击项目并选择Properties,如果Target Framework设置为“.Net Framework 4 Client”,则将其更改为“.Net Framework 4”。
但请注意,这将关闭,重新打开并重建您的项目(如果您有Web服务引用,则需要刷新这些内容)
答案 2 :(得分:5)
对于使用.NET 4.0或更高版本的用户,可以使用适用于客户端配置文件的WebUtility.UrlEncode(不需要System.Web程序集引用)。
答案 3 :(得分:0)