我想知道让一个动作返回不同视图的最佳方法是什么。假设您有一个提交数据的表单,但您希望根据提交的数据选择视图。我不希望使用重定向,因为我希望在发布的数据中显示内容。
这样做的一个例子是让Edit表单在单击Save时显示Details视图,但不使用重定向。
我知道这可以通过包含条件if语句的单个视图来显示这个或那个,但是在某些情况下我希望我的视图保持简单而不需要太多代码。如果控制器可以在发布数据后选择要显示的视图,那就太棒了。
答案 0 :(得分:6)
View()
方法存在重载,允许您指定要返回的视图的名称。
return View("DetailsView", model);
答案 1 :(得分:3)
你应使用发布/重定向/获取模式。你仍然可以“展示东西”。您可以在URI上传递ID,然后在新GET
中查找或使用TempData
。
试图规避发布/重定向/获取不是一个很好的解决方案。除其他外,它打破了后退按钮。