2012-12-11 67 views
3

我的工作與ADO.Net連接,然後一個我更新與jQuery如何在按鈕點擊更新數據庫表?

在這裏,我我的代碼

控制器

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(); 
} 

客戶方

div中MVC3
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它不是添加到表,這裏我想知道是如何保存數據庫以後,這裏有任何事情做錯了或有沒有任何最好的方法DB連接

回答

1

您序列化形式,所以最後你可以在下面要......將您的序列化形式綁定到電影模式/實體:

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

至於數據庫的做法,我推薦閱讀存儲庫模式和依賴注入,因爲它與ASP.NET MVC有關。

+0

沒有'[AcceptVerbs(「POST」)]'它工作正常。這不是我想要的答案。我問了一個關於保存在表格中的問題嗎? –

+0

謝謝我編輯了我的答案......只要問題是,你使用linq2sql,ORM(如實體框架,nHibernate)應用程序數據訪問塊,還是你寫的純ADO.NET自定義數據庫類? –

+0

我正在使用ADO.NET自定義數據庫類。 –

相關問題