MVC无法将数据保存到数据库

时间:2016-04-16 08:38:25

标签: asp.net-mvc

我正在尝试使用post将数据保存到从视图传递的数据库中。 我没有收到任何错误,但没有将值添加到数据库中。

我的json看起来像

{
    "Schedule Name": "name1",
    "data1": "a3c1",
    "data2": "a3c1",
    "data3": "a3c1",
    "data4": "a3c1",
    "data5": "a3c1",
    "data6": "a3c1",
    "data7": "a3c1"
}

这是我的控制器

public class ScheduleController : Controller
{
    DatabaseContext _db = new DatabaseContext();

    public ActionResult schedule()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Addmore(string list1)
    {
        bool result = true;
        newlist personData;
        JavaScriptSerializer jss = new JavaScriptSerializer();
        personData = jss.Deserialize<newlist>(list1);
        savv(personData);
        return Content(result.ToString());
    }

    public void savv(newlist nl) 
    {
        if (ModelState.IsValid)
        {
            using (_db)
            {
                _db.Schedule.Add(nl);
                _db.SaveChanges();
                ModelState.Clear();
            }
        }
    }

    public class newlist
    {
        public string namIDs { get; set; }
        public string aIDs { get; set; }
        public string bIDs { get; set; }
        public string cIDs { get; set; }
        public string dIDs { get; set; }
        public string eIDs { get; set; }
        public string fIDs { get; set; }
        public string gIDs { get; set; }
    }
}

这是我的数据库

 public class DatabaseContext : DbContext
{
    public DatabaseContext()
        : base("DefaultConnection")
    {

    }
    public DbSet<ScheduleController.newlist> Schedule { get; set; }

}

这是我的帖子

table_content = JSON.stringify({ 'Schedule Name': def ,'data1':data1 ,'data2':data2,'data3':data3,'data4':data4,'data5':data5,'data6':data6,'data7':data7});
    alert(table_content);
    $.post(url1, {
        jsonData: table_content
    },
    function (data, textStatus) {
        alert(textStatus);
        if (textStatus != "success") {
            alert(textStatus);
        }
    });

文本状态始终返回“成功”但没有值存储到数据库中 有人可以帮帮我吗?我错过了代码的任何事情?

我只是用另一种方法将值存储到数据库

public ActionResult Addmore(newlist personData)
    {
        var data1 = "hello";
        bool result = false;
        try
        {
            con.Open();
            //SqlCommand cmd = new SqlCommand("Insert INTO Sche values('" + personData.namIDs + "','" + personData.aIDs + "','" + personData.bIDs + "','" + personData.cIDs + "','" + personData.dIDs + "','" + personData.eIDs + "','" + personData.fIDs + "','" + personData.gIDs + "')", con);
            SqlCommand cmd = new SqlCommand("INSERT INTO Sche VALUES('" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "')", con);

            int i = cmd.ExecuteNonQuery();
            con.Close();
            if (i > 0) { result = true; }

        }
        catch (Exception e)
        {
            result = false;
        }
        return Content(result.ToString());
    }

但它仍然不适合我

即使通过我在代码

上输入此内容
SqlCommand cmd = new SqlCommand("INSERT INTO Sche VALUES(1,2,3,4,5,6,7,8)", con);

但它仍未添加到数据库中 这不是连接错误,因为此命令行可以正常工作

string query =“SELECT * FROM Sche”;                 SqlCommand command = new SqlCommand(query,connection);

3 个答案:

答案 0 :(得分:0)

您的操作的参数名称和帖子参数名称必须相同。将 +----------+ | 1 | 2 | 3 | +---+---+---+ | 4 | 5 | 6 | +---+---+---+ | 7 | 8 | 9 | +---+---+---+ | 10| 11| 12| +---+---+---+ 更改为jsonData,反之亦然

答案 1 :(得分:0)

试试这个

[HttpPost]
public ActionResult Addmore(newlist personData)
{
    bool result = true;
    JavaScriptSerializer jss = new JavaScriptSerializer();

    savv(personData);
    return Content(result.ToString());
}

的Ajax:

$.ajax({
    url: '@Url.Action("Addmore", "Schedule")',
    data: JSON.stringify({ namIDs : 'def' ,aIDs:'data1' ,bIDs :'data2',cIDs :'data3',dIDs :'data4',eIDs :'data5',fIDs :'data6',gIDs:'data7'}),
    dataType: 'json',
    type: 'POST',
    contentType: "application/json; charset=utf-8",
    success: function (data) {
        }
});

答案 2 :(得分:-1)

就个人而言,我不会使用MVC控制器并对json进行字符串化,因为它会改变数据类型。按原样发布数据并使用Web API。它有一个内置的机制来解析JSON数据