我在布局页面中有一个按钮,它应该在不同的视图之间导航。
<a id="next" href="/Navigation?CurrentPage=@ViewBag.CurrentPage">Next</a>
我在每个页面的 ViewModel 中填充ViewBag.CurrentPage
值。
导航控制器在以下控制器中拦截锚点点击 -
public class NavigationController : Controller
{
public void Index(string CurrentPage)
{
PageType currentPageEnum = (PageType)Enum.Parse(typeof(PageType), CurrentPage);
PageType nextPageEnum = currentPageEnum + 1;
RedirectToAction(nextPageEnum.ToString());
}
}
Enum 按顺序包含 ActionName,因此只需增加 currentPageEnum 值即可找到下一页。
enum PageType
{
Page1,
Page2
}
每个动作在 Global.asax.cs 中都有一个映射路由,如下所示 -
routes.MapRoute("Page1", "Page1", new { controller="controller1", action="Page1"});
routes.MapRoute("Page2", "Page2", new { controller="controller2", action="Page2"});
问题: 我无法使用此代码重定向到其他控制器 -
RedirectToAction(nextPageEnum.ToString());
请求终止而不重定向。
- 我缺少什么信息。
- 在 ASP MVC 中是否有更有效的方式在不同视图之间导航
谢谢!