100分,Server.UrlEncode()提示未将对象引用设置到对象的实例?

123xie 2006-09-09 11:29:22
using System.Web;

private void button1_Click(object sender, System.EventArgs e)
{
string str="张三";
str=System.Web.HttpContext.Current.Server.UrlEncode(str);//报错:未将对象引用设置到对象的实例
}

项目添加了 System.Web.dll的引用。但总是报错,为什么呢?


...全文
604 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ice_frank 2006-09-10
  • 打赏
  • 举报
回复
调试并没有错误啊
是否没有using 相应的命名空间
阿牛138588 2006-09-10
  • 打赏
  • 举报
回复
不能用中文。这是.net的bug
alien54155415 2006-09-10
  • 打赏
  • 举报
回复
System.Web.HttpUtility.UrlEncode(str)
123xie 2006-09-10
  • 打赏
  • 举报
回复
net_lover(【孟子E章】) 引用的网址中例题问题是不能解决问题,比如“我是中文”,百度编码码为:“%CE%D2%CA%C7%D6%D0%CE%C4”,而你这程序编码码为:“%e6%88%91%e6%98%af%e4%b8%ad%e6%96%87”。我昨天刚好做过类似东西,后这种解码加入url中,对方服务器是无法正确识别的。所以我才改用Server.UrlEncode(),但程序报错。

123xie 2006-09-10
  • 打赏
  • 举报
回复
是c#.net 应用程序窗口环境

谢谢xlshen_lxz() 。不过我这边确无法通过。按你用的Server.UrlEncode(str),则编译不能通过,报错:“error CS0246: 找不到类型或命名空间名称“Server”(是否缺少 using 指令或程序集引用?)”

我搜索网上资料,有很多是采用你这样方法,为什么我这边就不行啊
孟子E章 2006-09-10
  • 打赏
  • 举报
回复
http://dotnet.aspx.cc/ShowDetail.aspx?id=YUEMA9OS-W1DN-4KIS-8RIE-S742LLJ91L6Q
xiaohuasz 2006-09-10
  • 打赏
  • 举报
回复
同意楼上
可改为str=HttpUtility.UrlEncode(str);
Overriding 2006-09-10
  • 打赏
  • 举报
回复
楼主这段代码是用在web程序里吗?

如果不是肯定会出错,找不到http的上下文的。不能说引用了System.Web后里面的东西都是可以用的。
任亚军 2006-09-10
  • 打赏
  • 举报
回复
System.Web.HttpUtility.UrlEncode
alien54155415 2006-09-10
  • 打赏
  • 举报
回复
默认的是用UTF8,指定一下:
System.Web.HttpUtility.UrlEncode(str,System.Text.Encoding.GetEncoding("GB2312"));
xlshen_lxz 2006-09-10
  • 打赏
  • 举报
回复
做了个实验,没有任何错误:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Test
{
/// <summary>
/// WebForm3 的摘要说明。
/// </summary>
public class WebForm3 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}

private void Button1_Click(object sender, System.EventArgs e)
{
string str = "张三";
str = Server.UrlEncode(str);
Response.Write(str);
}
}
}

楼主再试试
123xie 2006-09-10
  • 打赏
  • 举报
回复
百度把:%e6%88%91%e6%98%af%e4%b8%ad%e6%96%87 解释成:"鏂版儬鐗圭数鑴"

呵呵

123xie 2006-09-10
  • 打赏
  • 举报
回复
System.Web.HttpUtility.UrlEncode(str)依旧不行。

System.Web.HttpUtility.UrlEncode("我是中文")结果还是:%e6%88%91%e6%98%af%e4%b8%ad%e6%96%87

hy_lihuan 2006-09-09
  • 打赏
  • 举报
回复
这个好像是str上面有问题吧,具体的这样看不出来

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧