未将对象引用设置到对象的实例
程序运行到58行代码时总会抛出异常,不知道该怎么解决这个问题,我是新手,刚学不久,哪位朋友能帮忙看一下吗?谢谢!说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 58: string[] strLst = myFile.PostedFile.FileName.Split('\\');
行 59: string filename = strLst[strLst.Length - 1];
行60 myFile.PostedFile.SaveAs("G:\\ASP.NET编程\\The company's Web site\\images2\\Buddhism Paintings\\" + filename);
源文件: g:\ASP.NET编程\The company's Web site\aspx\pictures.aspx.cs 行: 58
堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
_Default.Submit1_ServerClick(Object sender, EventArgs e) in g:\ASP.NET编程\The company's Web site\aspx\pictures.aspx.cs:58
System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e) +96
System.Web.UI.HtmlControls.HtmlInputButton.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.HtmlControls.HtmlInputButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838
--------------------编程问答-------------------- 显然你的myFile.PostedFile.FileName为null了!!
也就是说myFile.PostedFile.FileName没取到值! --------------------编程问答-------------------- myFile或者myFile.PostedFile或者myFile.PostedFile.FileName为null,调试一下。 --------------------编程问答-------------------- 楼上2位说的很对 --------------------编程问答-------------------- System.NullReferenceException: 未将对象引用设置到对象的实例。
对象为空,没有取到值,楼上的说得很对,你可以单步调试一下!! --------------------编程问答-------------------- myFile.PostedFile.FileName 这个没有获取到值~ --------------------编程问答-------------------- 大家都分析得挺对的,不用说了,路过留名下 --------------------编程问答--------------------
值为NULL,检查58行的赋值问题~ --------------------编程问答-------------------- myFile.PostedFile.FileName.Split('\\');
myFile.PostedFile.FileName 为NULL --------------------编程问答-------------------- myFile没有取到值 --------------------编程问答-------------------- --------------------编程问答-------------------- myFile是一个上传图片FileUpload的ID,要怎样给它赋值啊,我是想用它来上传图片到一个文件夹的,试了很久都不行,各位大哥能举一个例子来看看吗?谢谢啦! --------------------编程问答-------------------- 检查赋值 --------------------编程问答-------------------- myFile为null
或
myFile.PostedFile 为 null
或
myFile.PostedFile.FileName 为null --------------------编程问答-------------------- myFile.PostedFile.FileName.Split('\\');
myFile.PostedFile.FileName 可能为NULL
注意是可能为null,就算你这次不为NULL,下次呢?这个程序是不健壮滴,所以编译器不给你通过。
这样写就行了
if(!String.IsNullOrEmpty(myFile.PostedFile.FileName))
{
myFile.PostedFile.FileName.Split('\\');
} --------------------编程问答-------------------- 如何赋值,举个例子来看看 --------------------编程问答-------------------- 嗯,我试试
--------------------编程问答-------------------- 断点,调试一下 --------------------编程问答--------------------
if(!String.IsNullOrEmpty(myFile.PostedFile.FileName))
{
string[] strLst = myFile.PostedFile.FileName.Split('\\');
}
这样就不会出现将空值赋给字符串的情况,未将对象引用设置到对象的实例,这个错误,正常不是说你当前的值为空,是指你可能出现空值。
--------------------编程问答-------------------- 改了之后还是出现这个问题,程序运行到代码if(!String.IsNullOrEmpty(myFile.PostedFile.FileName))的时候又出现了跟之前一模一样的问题
--------------------编程问答-------------------- 搞定了,谢谢各位帮忙啊!
补充:.NET技术 , ASP.NET