0

如果问题执行不力,我深表歉意,这是我在这里的第一篇文章。我是使用 Visual Studio 和 ASP.NET 的新手,我承认这一点,并且已经坐了一段时间这个错误。

我正在尝试创建一个包含 5 个问题和 5 个文本框的表单,您可以在其中填写您的答案,然后当您单击一个按钮时,答案将保存在我数据库中的一个表中。问题是单击按钮后出现错误。这是我的代码:

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();
            }
        }
    }
}

这是我收到的错误消息:

“/”应用程序中的服务器错误。

Objektreferensen har inte angetts until en instans av ett objekt。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.NullReferenceException:Objektreferensen har inte angetts until en instans av ett objekt。

源错误:

第 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: Objektreferensen har inte angetts until en instans av ett objekt.] uppg3._default.Button1_Click(Object sender, EventArgs e) in c:\Users\Ann-Helén\Documents\Visual Studio 2012\Projects\uppg3\default.aspx .cs:28
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
+158 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +174
System.Web.UI.WebControls.Button.System。 Web.UI.IPostBackEventHandler.RaisePostBackEvent(String 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

@Oded:感谢您的回复!我尝试了你的建议,但不幸的是得到了同样的错误。但是,我现在在程序中注意到了一些内容:

错误图片

更新:

提出的一个新想法是文本框为空。现在我从其他人那里得到了 page_load 重置文本框的想法,并将尝试找到解决方案。谢谢大家的帮助,如果是这样,我会用解决方案更新它。

4

1 回答 1

0

datakoppling.Svar永远不会分配给,所以是null

代替:

datakoppling.Svar.Add(nySvar);

做:

datakoppling.Svar = new DbSet<Svar>();
datakoppling.Svar.Add(nySvar);
于 2013-06-06T14:27:01.947 回答