完整的C#noob,VS2010,不能使用HttpServerUtility.UrlEncode?

Fra*_*ins 3 c# urlencode url-encoding

所以,我是C#的完整菜鸟.我有一个我需要编码的网址,以便使用urlencoded帖子.

问题是,我发现的每个资源都说使用System.Web.HttpServerUtility.UrlEncode.或者,我已经看到资源告诉我使用System.Web.Util.HttpEncoder().

我添加了对system.web的引用,但是得到了"system.web命名空间中不存在"和"system.web.util命名空间中不存在"错误.

任何提示都会很好!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Web;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string url = HttpUtility.UrlEncode("http://stackoverflow.com/");
            MessageBox.Show(url);
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 6

您可能正在使用.NET 4客户端配置文件,但不包括System.Web.dll- 或者您还没有添加对它的引用.如果进入项目属性,在"应用程序"下选择".NET Framework 4"作为目标框架,而不是".NET Framework 4 Client Profile".然后,您应该能够添加对System.Web程序集的引用.

(请注意,组装一样的命名空间.集引用添加到项目中,而您通常使用的命名空间"添加"到一个单独的文件using指令在上面.你已经拿到using了该指令System.Web的命名空间,但如果没有HttpServerUtilitySystem.Web装配的引用,这将无法帮助您使用.)

或者,根据您的具体要求,您可以使用Uri.EscapeDataStringUri.EscapeUriString.这两个都可以在客户端配置文件中找到.有这么多不同的方法做到这一点有点烦人 - 挑选正确的方法可能很棘手:(


Dar*_*rov 5

您可能需要将System.Web程序集的引用添加到项目中:

替代文字

  • 使用VS 2010更新了屏幕截图.毕竟没有那么多不同.实际上,主要区别在于屏幕截图中不可见.它在速度上.在以前版本的Visual Studio中看到此窗口之前,您不再需要喝五杯咖啡(谢谢微软). (2认同)