3

我正在使用 ADO.Net Connectivity 开发 MVC3,然后我正在使用 jQuery 更新 div

这是我的代码

控制器

public ActionResult GetData()
{
 return this.Json(_db.MYMOVIELISTs, JsonRequestBehavior.AllowGet);
}
public void Insert(string Id)
{
    var movieToInsert = new MYMOVIELIST { Title = "Ben", Director = "LEMe", ID = Id };
    // Save new movie to DB
    _db.AddToMYMOVIELISTs(movieToInsert);
    _db.SaveChanges();
}

客户端

function insertCallback(result) {
    readData();
}
function readData() {
    info.empty();
    $.ajax({
        type: "GET",
        url: 'Home/GetData',
        async: false,
        success: function (data) {
            for (var i = 0; i < data.length; i++) {
                var panel = $("<div class='panel' ></div>")
                var d = data[i];
                panel.append("ID: " + d.ID + "</br>");
                panel.append("Title: " + d.Title + "</br>");
                panel.append("Director: " + d.Director + "</br>");
                panel.append("<hr>");
                panel.data("info", d);
                panel.appendTo(info);
            }
        }
    });
}
$("#btnAdd").click(function () {
    $.post("Home/Insert", $("form").serialize(), insertCallback);
});

这很好用,我的问题是我想在“保存”按钮单击中更新数据库表。我试图调用_db.SaveChanges();保存按钮单击而不是Insert它没有添加movieToInsert到表,这里我想知道以后如何保存数据库,这里有什么做错了,或者有没有最好的数据库连接方法

4

1 回答 1

1

您正在序列化一个表单,所以最终您可能想要下面...它将您的序列化表单绑定到电影模型/实体:

[AcceptVerbs("POST")]
public void Insert(MovieEntity movie)

至于数据库实践,我建议阅读与 ASP.NET MVC 相关的存储库模式和依赖注入。

于 2012-12-11T07:17:07.287 回答