【发布时间】:2012-01-18 00:36:25
【问题描述】:
让我先尝试在这里设置场景。这是使用 ASP.NET 4.0、MVC3 和 C# 完成的。
我有一个图片库。我有一个图片库相册的经理。每个画廊都有一组页面。
当我使用相册管理器时,视图会显示当前相册的列表。
在相册列表中,可以选择编辑、删除或管理该相册中的页面。
选择要管理专辑的页面时,有一个页面列表,每个页面都有编辑,删除和视图。
选择页面的编辑按钮,然后保存了编辑,遇到了我的问题。
从相册列表到要管理的页面列表的按钮通过post发送id来隐藏相册ID等参数。
所以页面的视图是从 [HttpPost] 控制器生成的。然后,从视图到管理页面,当点击编辑按钮时,出于同样的原因(隐藏参数)从[HttpPost]控制器生成编辑页面。
问题是:在编辑视图中单击保存按钮后,数据会通过 [HttpPost] 发布到保存更改控制器,但我不想返回编辑视图(刷新会重新发布更改,它是不是真正的最佳实践)。我想返回所选专辑的页面列表。为此,我使用编辑控制器中的 [HttpPost] 重定向回 [HttpGet] 控制器,以获取列出所选专辑页面的视图。当我这样做时,调用看起来像这样:
return RedirectToAction("ManagePages", new { albumId = model.AlbumId });
不幸的是,这使网址显示了专辑 ID:http://XXX/ManagePages?AlbumId=56。
如何返回同一选定专辑的 ManagePages 视图而不在参数列表中显示专辑 ID?
【问题讨论】:
标签: asp.net asp.net-mvc-3 http-post http-get redirecttoaction