当前位置:首页 > 思想汇报 > [未将对象引用设置到对象的实例(System.NullReferenceException)_实用技巧] 对象引用不设置到对象的实例
 

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

发布时间:2019-07-02 05:33:55 影响了:

示例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引用,其中的不对称加密解密过程是否正确,是否执行了应该执行的程序代码。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3