这个错误是什么意思?,我一直收到这个错误,它用来正常工作,它刚开始抛出这个错误....任何帮助?
img1.ImageUrl = ConfigurationManager.AppSettings.Get("Url").Replace("###", randomString)
+ Server.UrlEncode(((System.Web.UI.MobileControls.Form)Page.FindControl("mobileForm")).Title);
发生了'System.NullReferenceException'类型的异常 MyProject.DLL但未在用户代码中处理
附加信息:对象引用未设置为的实例 对象
答案 0 :(得分:5)
这意味着您的调用链中的某个位置,您尝试访问属性或在null
的对象上调用方法。
鉴于你的陈述:
img1.ImageUrl = ConfigurationManager
.AppSettings
.Get("Url")
.Replace("###", randomString)
+ Server.UrlEncode(
((System.Web.UI.MobileControls.Form)Page
.FindControl("mobileForm"))
.Title);
我猜测对AppSettings.Get("Url")
的调用是返回null,因为找不到值,或者对Page.FindControl("mobileForm")
的调用返回null,因为找不到控件。
您可以轻松地将其分解为多个语句来解决问题:
var configUrl = ConfigurationManager.AppSettings.Get("Url");
var mobileFormControl = Page.FindControl("mobileForm")
as System.Web.UI.MobileControls.Form;
if(configUrl != null && mobileFormControl != null)
{
img1.ImageUrl = configUrl.Replace("###", randomString) + mobileControl.Title;
}
答案 1 :(得分:2)
这意味着你在某处有一个空引用。您可以调试应用程序并在调试器到达此处并进行调查时停止它吗?可能img1
为空或ConfigurationManager.AppSettings.Get("Url")
返回null。