C# 将请求重定向到其他控制器
我在布局页面中有一个按钮,它应该在不同的视图之间导航C# 将请求重定向到其他控制器,c#,asp.net-mvc,C#,Asp.net Mvc,我在布局页面中有一个按钮,它应该在不同的视图之间导航 <a id="next" href="/Navigation?CurrentPage=@ViewBag.CurrentPage">Next</a> 枚举按顺序包含ActionName,所以只需增加currentPageEnum值即可找到下一页 enum PageType { Page1, Page2 } 每个操作在Global.asax.cs中都有一个映射路径,如下所示- routes.MapRou
<a id="next" href="/Navigation?CurrentPage=@ViewBag.CurrentPage">Next</a>
枚举按顺序包含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());
请求在没有重定向的情况下终止
谢谢 添加return语句并使函数返回一些内容
public class NavigationController : Controller
{
public ActionResult Index(string CurrentPage)
{
PageType currentPageEnum = (PageType)Enum.Parse(typeof(PageType), CurrentPage);
PageType nextPageEnum = currentPageEnum + 1;
return RedirectToAction(nextPageEnum.ToString());
}
}
但我建议,从(razor)视图在MVC环境中导航的最佳方式如下:
<div>
@Html.ActionLink(string linkText, string actionName)
</div>
@ActionLink(stringlinktext,stringactionname)
如果操作在同一控制器中。如果不使用此重载:
<div>
@Html.ActionLink(string linkText, string actionName, string controllerName)
</div>
@ActionLink(stringlinktext、stringactionname、stringcontrollername)
添加return语句并使函数返回一些内容
public class NavigationController : Controller
{
public ActionResult Index(string CurrentPage)
{
PageType currentPageEnum = (PageType)Enum.Parse(typeof(PageType), CurrentPage);
PageType nextPageEnum = currentPageEnum + 1;
return RedirectToAction(nextPageEnum.ToString());
}
}
但我建议,从(razor)视图在MVC环境中导航的最佳方式如下:
<div>
@Html.ActionLink(string linkText, string actionName)
</div>
@ActionLink(stringlinktext,stringactionname)
如果操作在同一控制器中。如果不使用此重载:
<div>
@Html.ActionLink(string linkText, string actionName, string controllerName)
</div>
@ActionLink(stringlinktext、stringactionname、stringcontrollername)
是的,有一种有效的方法,如下所示:
只用
RedirectToAction("ACTION_NAME", "Controller_NAME");
是的,有一种有效的方法,如下所示: 只用
RedirectToAction("ACTION_NAME", "Controller_NAME");
谢谢,这很有帮助。这种方法是在MVC中实现导航的最佳方法吗。@autrevo我添加了从视图本身导航的最佳方法。谢谢,它很有帮助。这是在MVC中实现导航的最佳方法。@autrevo I添加了从视图本身导航的最佳方法。