2012-06-01 22 views
2

我有一個記錄列表,對於每條記錄我都有一個編輯按鈕來顯示數據並修改信息。當我點擊保存按鈕時,數據不會保存在數據庫中。我的代碼有什麼問題,請幫忙嗎?這裏是我的編輯記錄未保存在數據庫中的數據(MVC3)

[HttpPost,ValidateInput(false)] 
     public ActionResult EditEventDetails(int id, FormCollection collection) 
     { 
      var eventsdetails = _service.GeteventByID(id); 
      UpdateModel(eventsdetails, "tbl_SBAem_Event"); 
      _eventRepository.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 
+0

調試器獲得的Id說什麼? (確保一個*更改*實際* *發生*) – 2012-06-01 05:51:04

+0

沒有出現錯誤 – user335160

回答

3

碼這不是完全清楚你的代碼是什麼意思做,但你永遠不使用collection參數,這大概包括要更新的數據。您應該在保存更改之前將其應用於您的模型。

您目前的UpdateModel方法有什麼作用?您只會向儲存庫中提供的信息取自。我希望它的簽名中包含FormCollection,例如

UpdateModel(eventsdetails, collection, "tbl_SBAem_Event"); 

...但我真的只是猜測,因爲我們沒有太多的內容。無論這是否是正確的地方,它肯定看起來像忽略傳入的數據可能是原因。

+0

好的,該怎麼做,我是mvc的新手。 – user335160

+3

@ user335160:很難說如果不知道你的應用程序中的任何其他內容,但是如果你對MVC還不熟悉,我會強烈建議你閱讀其中的許多教程。他們幾乎都會給出一個編輯數據的例子 - 所以通過完整的教程(不要只專注於那一部分),然後將知識應用到您的應用程序。 –

+0

感謝您的建議,非常感謝!看來我看到的例子是錯誤的?我已經實現了與示例相同的功能 – user335160

1

編輯函數簽名,因爲MVC沒有綁定函數。

EditEventDetails(FormCollection collection) 

可以比從FormCollection對象