我有一個使用實體框架的MVC 3項目。我可以成功地更新實體是這樣的:具有日期時間屬性的MVC 3更新實體
[HttpPost]
publiv RedirectResult Update(MyEntity entity)
{
if(ModelState.IsValid)
{
this.entityRepository.Update(entity);
return RedirectResult(".../Admin");
}
return RedirectResult(".../UnssuccessfullOperation");
}
現在的問題時,我說的DateTime屬性,以我的實體arised。如果我不爲我的DateTime屬性添加@ Html.HiddenFor,那麼我的實體的日期是01.01.0001(或DateTime.Min),這顯然不能保存到數據庫中。如果我添加隱藏的輸入日期呈現,但在更新我的模型狀態是無效的,我想這是由於日期時間作爲字符串傳遞的事實。
現在有一個解決方案,但它似乎有點怪 - 在視圖中不呈現Html.Hidden和使用datetime從entityRepository這樣的:
entity.DateSomething = this.entityRepository.GetSingle(entity.ID).DateSomething;
,但它似乎並不十分正確。在這種情況下還有其他更好的選擇嗎?
不可思議的。我認爲這可能是問題所在,但由於溝通是在同一臺計算機上執行的,我認爲「這是完全不可能的」,因爲我無法想象如何使用一種文化發送數據,然後使用不同的文化接收數據。萬分感謝。 – Unknown 2012-03-13 13:17:49