", "" />
好文档 - 专业文书写作范文服务资料分享网站

未将对象引用设置到对象的实例(System.NullReferenceException)_实用技巧

分享 时间: 加入收藏 我要投稿 点赞

示例1

public static string FilterValue(string value)

{

string[] filterChar = new string[] { "\'", ",", ">", "<", "=", ";", "\"", "--" };

for (int i = 0; i < filterChar.Length; i++)

{

value = value.Replace(filterChar[i], "");

}return value.Trim(' ');

}

这个函数比如容易看的出:如果value传进来为Null的时候,就等于Null.Replace被调用,就出现了上面的错误。因此,通常的,在函数的首行,都会对value进行:if(!string.IsNullOrEmpty(value)) 一下。

示例2

:<%# Eval("字段").ToString()=="1"?"Yes":"No" %>

当Eval("字段")为Null时,一个Null.ToString(),必然也会出现上面的错误,那什么情况出现?

1:字段的值为Null

2:空数据行,就是你表一行数据都没有,全是Null。

所以预防性的写法是:<%# Convert.ToString(Eval("字段"))=="1"?"Yes":"No" %

示例3

protected void Page_Load(object sender, EventArgs e)

{

strIP = Request.UserHostAddress.ToString();

strUserID = Session["userid"].ToString();

strMessage = this.tbMessage.Text;

strPostID = Request["postid"].ToString();

strReplyTime = DateTime.Now.ToString();

}

解决方案

一、你如果是在编写程序过程中测试这个index.aspx页面时出现上述错误,那么你可以如下解决:

1、用VS.NET2003或VS.NET2005(主要看这个程序工程,你原来用的是哪一个开发环境了)打开此程序工程。

2、如果点击运行没有错误,及编译后没有产生语法错误,那么就要找到是在哪个功能的哪条语句中出现了上述错误。可在能执行的地方设置断点,逐句运行程序看到哪条语句后不能执行而提示了错误。

3、如果你已经new过了对象,那么你看看你new过的对象是否已经失效,也就是看看定义的对象的作用范围是否合法。

4、并且可以使用右键的快速监测来查看对象。

5、如果你是调用了Web Services(及Web服务)那么看看你实例化的Web Services是否存在,并且你是否实例化了Web Services以及是否在程序工程中添加了Web引用,其中的不对称加密解密过程是否正确,是否执行了应该执行的程序代码。

221381
领取福利

微信扫码领取福利

微信扫码分享