System.NullReferenceException(Visual Studio 2012,ASP.NET)
如果这个问题执行得不好,我很抱歉,这是我在这里的第一篇帖子。我承认,我是一个使用Visual Studio和ASP.NET的新手,并且已经忍受了一段时间这个错误 我正在尝试创建一个包含5个问题和5个文本框的表单,您可以在其中填写答案,然后当您单击按钮时,答案将保存在我数据库的表中。问题是,单击按钮后出现错误。这是我的代码:System.NullReferenceException(Visual Studio 2012,ASP.NET),asp.net,nullreferenceexception,Asp.net,Nullreferenceexception,如果这个问题执行得不好,我很抱歉,这是我在这里的第一篇帖子。我承认,我是一个使用Visual Studio和ASP.NET的新手,并且已经忍受了一段时间这个错误 我正在尝试创建一个包含5个问题和5个文本框的表单,您可以在其中填写答案,然后当您单击按钮时,答案将保存在我数据库的表中。问题是,单击按钮后出现错误。这是我的代码: namespace uppg3 { public partial class _default : System.Web.UI.Page {
namespace uppg3
{
public partial class _default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String minSkola = System.Web.Configuration.WebConfigurationManager.AppSettings["school"];
Label1.Text = minSkola;
}
protected void Button1_Click(object sender, EventArgs e)
{
using (svarDatabasEntities datakoppling = new svarDatabasEntities())
{
var nySvar = new Svar();
nySvar.svar1 = Box1.Text;
nySvar.svar2 = Box2.Text;
nySvar.svar3 = Box3.Text;
nySvar.svar4 = Box4.Text;
nySvar.svar5 = Box5.Text;
datakoppling.Svar.Add(nySvar);
datakoppling.SaveChanges();
}
}
}
}
这是我收到的错误信息:
“/”应用程序中出现服务器错误
对象引用必须始终保持不变,直到当前为止
描述:在执行过程中发生未处理的异常
当前的web请求。请查看堆栈跟踪以了解更多信息
有关错误的信息及其在代码中的来源
异常详细信息:System.NullReferenceException:OBJEKTREFERENTERSEN har
直到最后一刻,所有的一切都结束了
源错误:
第26行:nySvar.svar4=Box4.Text
第27行:nySvar.svar5=Box5.Text
第28行:datakoppling.Svar.Add(nySvar)强>
第29行:datakoppling.SaveChanges()
第30行:}
源文件:c:\Users\Ann Helén\Documents\Visual Studio
2012\Projects\uppg3\default.aspx.cs行:28
堆栈跟踪:
[NullReferenceException:ObjektReferences在内部直到外部
instans av ett objekt.]uppg3.\u默认。按钮1\u单击(对象发送器,
c:\Users\Ann Helén\Documents\Visual Studio中的事件参数
2012\Projects\uppg3\default.aspx.cs:28System.Web.UI.WebControls.Button.OnClick(EventArgs e)+158
System.Web.UI.WebControl.Button.RaisePostBackEvent(字符串 事件参数)+174
System.Web.UI.WebControl.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument)+39
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)+37
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +105 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) +4411
@奥德:谢谢你的回复!我尝试了你的建议,但不幸的是,我也犯了同样的错误。然而,我现在在节目中注意到了一些东西: 更新:
提出的一个新观点是文本框为空。现在我从其他人那里得到了一个想法,页面加载会重置文本框,并将尝试找到解决方案。谢谢大家的帮助,如果是这样的话,我会用解决方案更新它。
datakoppling.Svar
从未分配给,null也是如此
而不是:
datakoppling.Svar.Add(nySvar);
做:
datakoppling.Svar=new DbSet();
datakoppling.Svar.Add(nySvar);
看起来像datakoppling.Svar
是null@Justin:它显示第28行,所以Box5
为空。您能给我们svardatabasenties类的代码吗?特别是Svar的getter,类似于下面的列表Svar{get{some code;}set{some more code;}@Martin:SvarDatabaseEntities是我用来连接数据库的实体框架。SvarDatabaseEntities是数据库中的一个表。我的错,我注意到格式有欺骗性!我编辑了这个问题,让它更清楚第28行是什么;谢谢你的回复!我试过了,但也遇到了同样的错误。我已经用一个链接更新了主帖,指向n电子战发现:@Zarkaylia-从错误中可以清楚地看出,datakoppling.Svar
是一个DbSet
,而不是uppg3.Svar
。答案已更新。它显示第28行,因此Box5
是null@Oded:不幸的是,它在DbSet上抱怨。@leppie:这意味着它不能正确地获取输入文本,我猜您可能会这样做我在这里。为什么提取文本不起作用,不知道。
datakoppling.Svar = new DbSet<Svar>();
datakoppling.Svar.Add(nySvar);