使用Asp.Net c#和Entity Framework的简单表单收集

7 浏览
0 Comments

使用Asp.Net c#和Entity Framework的简单表单收集

我有一个包含3个文本框和一个按钮的简单表单。我只想将表单中的数据发送到我的数据库。在我的数据库中,我有一个名为contacts的表,有三列(ID-主键,fname,lname,phone)。我创建了一个Ado.net Entity Framework模型并将其命名为Contacts。

这是我目前的代码:

protected void Button1_Click(object sender, EventArgs e)
{
    Contact con = new Contact();
    con.fname = TextBox1.Text;
    con.sname = TextBox2.Text;
    con.phone = TextBox3.ToString();
    ContactDb db = new ContactDb();
    db.Contacts.Add(con);
    db.SaveChanges();
}

当我点击确定时,出现以下错误:一个或多个实体的验证失败。有关更多详细信息,请参见 'EntityValidationErrors' 属性。

0
0 Comments

问题的原因是在代码中有一个错误的赋值语句,应该将con.phone = TextBox3.ToString();改为con.phone = TextBox3.Text;。此外,还可能存在一些在ContactDb类上的验证属性,值得我们查看一下。

解决方法是找到ContactDb类的实现,并将其代码包含在问题描述中。如果代码太长,只需包含fnamesnamephone属性的实现即可。

0
0 Comments

问题原因:当我们为必填字段传递NULL值时,通常会出现EntityValidationErrors。

解决方法:尝试将主键ID值传递为0并进行检查。还可以使用以下catch语句检查导致问题的字段,请参考此帖子中的Richard的回答。

0