我可以从子操作方法重定向到新操作方法并返回其视图而不是返回到该子级的父级吗?

时间:2017-11-15 12:54:49

标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-3

假设我有一个动作方法,例如伪代码

Pseudo Code is here 这是否可以从子节点重定向到另一个父操作mehtod并返回其视图而不是将视图返回给该子节点的父节点?

1 个答案:

答案 0 :(得分:0)

您可以从任何操作中返回您喜欢的任何回复。使用您的示例:

public ActionResult Method()
{
    return ChildActionMethod();
}

public ActionResult ChildActionMethod()
{
    return RedirectToAction("SomeAction");
}

这将返回Method的重定向结果,因为它会返回ChildActionMethod返回的任何内容。

值得注意的是,如果您在return View();内执行ChildActionMethod并且未指定视图,则框架将使用当前请求来确定要使用的视图。也就是说,默认情况下,它会使用Method的视图而不是ChildActionMethod。在这种情况下,您需要指定视图。

事实上,ChildActionMethod甚至不需要成为公共行动方法"。它可以是返回ActionResult的任何方法。此时,您只处理C#语言的基础知识(方法,类型等),而不仅仅是ASP.NET MVC框架。