我正在使用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
添加到表中,这里我想知道如何在以后保存数据库,这里任何事情我做错了或者有没有最佳的DB连接方法
答案 0 :(得分:1)
您正在序列化一个表单,因此最终您可能需要以下...这会将您的序列化表单绑定到电影模型/实体:
[AcceptVerbs("POST")]
public void Insert(MovieEntity movie)
至于数据库实践,我建议阅读与ASP.NET MVC相关的存储库模式和依赖注入。