为什么我在Visual Studio 2010中找不到或使用UrlEncode?
我有一个字符串,我想编码为标准的URL格式。 从我发现的,我应该能够通过httpUtility.urlEncode
方法做到这一点,但我似乎没有那个可用。
我添加了“使用”对System.Web
和System.Net
引用无济于事。 我还看到了其他变种中对server.urlEncode的其他引用,但我没有看到任何方法。
我在Visual Studio 2010中使用了最新版本的C#。在这个版本中,该方法被称为不同的东西,隐藏在其他地方,还是我完全脱离基础?
默认情况下,Visual Studio 2010中的新项目以.NET Framework 4.0 客户端配置文件为目标,该配置文件不包含System.Web
程序集。
您可以在项目的“属性”中更改项目所针对的框架的版本。 在“应用程序”选项卡下,从标有“目标框架”的combobox中选择“.NET Framework 4.0”。
然后,确保使用“添加引用”对话框添加了对System.Web
的引用。
最后,在类的顶部为System.Web
命名空间添加using
指令 :
using System.Web;
您将在HttpUtility
类中找到UrlEncode
方法的各种重载。 示例代码:
HttpUtility.UrlEncode("http://www.google.com/");
在.Net 4.5中你可以(应该?,’请使用’表示Katana注释)使用System.Net.WebUtility.UrlEncode方法。
它不能以不同的名称命名,因为Visual Studio不提供类或.NET框架所提供的类或方法名称。
我只能告诉你的是System.Web。 HttpUtility AND System.Web。 HttpServerUtility类包含一个名为UrlEncode(string)
。
如果您的项目以“.NET Framework X Client Profile”为目标,则不能使用“System.Web”,而是可以使用“Uri.EscapeUriString | Uri.UnEscapeUriString”。
是的,添加参考是我的答案。 但是,如果您的解决方案中有多个项目,请务必仔细检查项目是否存在。 我有3个项目的解决方案。 System.Web
已添加到2个项目中,但未添加到第3个项目中。
我花了一个小时试图找出为什么我不能使用HttpUtility
因为它是主项目中的参考。 但我没有检查解决方案的子项目。
希望它可以帮到某人。
因为你只看到AspNetHostingPermission
, AspNetHostingPermissionAttribute
和AspNetHostingPermissionLevel
,我强烈怀疑(和其他人一样)你错过了一个引用。
你能做的最好的事情就是开始一个新的项目,因为在不破坏整个项目的情况下添加/删除引用非常复杂。
如何:在Visual Studio (MSDN)中添加或删除引用显示如何添加/删除引用。 在您的情况下,您应该检查/添加System.Web
参考。