0
我有我的項目使用MVC,我有我的控制器實例化服務,服務管理存儲庫,並在存儲庫中進行CRUD操作。問題是,一旦我使用服務中的數據填充了我的網格控件(Telerik),如果我進行更新並刷新數據,則會顯示舊數據而不是新數據。我認爲這是我的上下文變量的持久性問題,需要處理/實例化,但不確定何時何地(Unit Of Work變量位於服務中)。什麼時候我必須處理我的上下文
<HttpPost()>
<GridAction()>
Function Edit(id As Integer, name As String, clientNo As String, image As String, unit As String) As ActionResult
Try
Dim org = Me._orgService.GetOrgById(id)
With org
.orgNAME = name
.orgCLIENTNO = clientNo
.orgIMAGE = image
.orgUNIT = unit
End With
TryUpdateModel(org)
Me._orgService.EditOrg(org)
Catch ex As Exception
'Log the error
ModelState.AddModelError("", MS_UNABLE_SAVE_CHANGES)
Response.StatusCode = 500
Return Content(String.Join("", (From state In ModelState Select state).SelectMany(Function(s) s.Value.Errors).Select(Function(e) e.ErrorMessage).ToArray()))
End Try
Return View(New GridModel(All()))
End Function
這是服務
Public Sub EditOrg(org As hdmtORG) Implements IOrgService.EditOrg
Me._context.OrgRepository.Edit(org)
Save()
End Sub
這是庫(通用)
Public Overridable Sub Update(entity As TEntity) Implements IEntityRepository(Of TEntity).Edit
Me._objectSet.Context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified)
End Sub
任何想法?
非常感謝。
對不起Jitendra但有點測試它不工作,以後如果我刷新數據則顯示舊/新的價值,而不僅僅是新的。任何其他想法? – Scheveningen 2012-07-10 14:09:46
你能告訴我你在測試哪個瀏覽器嗎?除IE外,其他瀏覽器不會緩存數據,而是明確寫入代碼。 – 2012-07-13 09:19:43