我正在使用 ADO.Net 连接开发 MVC3,然后我使用 jQuery 更新 div
这是我的代码
Controller
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
添加到表中,在这里我想知道稍后如何保存数据库,这里做错了什么,或者是否有任何最佳的数据库连接方法
最佳答案
您正在序列化一个表单,因此最终您可能需要以下...它将您的序列化表单绑定(bind)到电影模型/实体:
[AcceptVerbs("POST")]
public void Insert(MovieEntity movie)
对于数据库实践,我建议阅读有关 ASP.NET MVC 的存储库模式和依赖项注入(inject)。
关于asp.net-mvc-3 - 如何在按钮单击时更新数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13814692/