Dan*_*Dan 9 asp.net asp.net-mvc
我有一个场景,我在一个视图页面,并在控制器A中调用一个动作方法,通过RedirectToAction返回调用控制器B中的另一个动作,此动作返回我已经在的视图.
我希望页面刷新以反映这两个操作所做的系统状态的更新,但MVC似乎决定页面不需要刷新,因为我返回到相同的视图.如何强制刷新?
例:
//user is on A/index, and submits a form that calls this in contoller B
public ActionResult ActionInControllerB()
{
//do stuff
return RedirectToAction(ActionNames. ActionInControllerA, ControllerNames.A);
}
public ActionResult ActionInControllerA()
{
//do stuff
return View("index");
}
Run Code Online (Sandbox Code Playgroud)
我猜你正在遇到缓存问题.
使用以下命令装饰ActionInControllerB和ActionInControllerA方法:
[OutputCache(Location=System.Web.UI.OutputCacheLocation.None)]
Run Code Online (Sandbox Code Playgroud)
我在这里会有点含糊,因为我不太确定,但我以前见过类似的东西(而且没有其他人回答)。问题可能是在重定向之前尚未处理或刷新更新事务。例如,NHibernate 有时会等待向数据库提交更新,直到我认为处理了响应之后。
如果是这种情况,那么无论您在控制器 A 中执行什么操作,都不会获取更改。也许您可以尝试以某种方式强制处理数据库提交。
抱歉,但这是我能想到的唯一可能性。你必须穿上你的 google-fu 服装和头带!
| 归档时间: |
|
| 查看次数: |
8732 次 |
| 最近记录: |