When the method with the barcode parameter is called, RedirectToAction has absolutely no effect. I can see that it does indeed return to that route in the URL, but the model is not refreshed and it displays stale data.
In the SQL Server profiler I can see that the call isn’t being made to pull back the new data.
How can I force this to happen?
Incidently, the call to: public ActionResult SRScanItem(string barcode) is itself the result of a RedirectToAction from another controller.
I have handful of calls to RedirectToAction("SRPickCollectionItems") elsewhere in the same controller and these all work fine.
Any idea what may be causing this?
public ActionResult SRPickCollectionItems()
{
IEnumerable<ISRPickingItemSummary> items =
SRPickingItemsViewModel.
GetDisplayableChunk(ApplicationState.CollectionId.ToString(),
ApplicationState.AssistantNumber);
return View(items);
}
public ActionResult SRScanItem(string barcode)
{
DataLayer.Instance.AddStockroomFoundItem(barcode, ApplicationState.CollectionId, ApplicationState.AssistantNumber);
return RedirectToAction("SRPickCollectionItems");
}
Maybe the redirect is going to a cached page.
Could you try and decorate SRPickCollectionItems with