ASP.Net MVC 3 - 单控制器,单动和多视图

时间:2011-09-06 17:08:31

标签: forms asp.net-mvc-3 view

我想知道让一个动作返回不同视图的最佳方法是什么。假设您有一个提交数据的表单,但您希望根据提交的数据选择视图。我不希望使用重定向,因为我希望在发布的数据中显示内容。

这样做的一个例子是让Edit表单在单击Save时显示Details视图,但不使用重定向。

我知道这可以通过包含条件if语句的单个视图来显示这个或那个,但是在某些情况下我希望我的视图保持简单而不需要太多代码。如果控制器可以在发布数据后选择要显示的视图,那就太棒了。

2 个答案:

答案 0 :(得分:6)

View()方法存在重载,允许您指定要返回的视图的名称。

return View("DetailsView", model);

答案 1 :(得分:3)

使用发布/重定向/获取模式。你仍然可以“展示东西”。您可以在URI上传递ID,然后在新GET中查找或使用TempData

试图规避发布/重定向/获取是一个很好的解决方案。除其他外,它打破了后退按钮。