Asp.net mvc 3 ASP.NET MVC重定向到操作,无需物理重定向

Asp.net mvc 3 ASP.NET MVC重定向到操作,无需物理重定向,asp.net-mvc-3,redirect,Asp.net Mvc 3,Redirect,是否可以通过操作、操作过滤器或任何其他方式在另一个控制器上以相同的方式执行另一个操作,而无需执行物理重定向 原因是我有一个动态分页系统,例如,用户将在其中加载url /1/some-page-title 此url映射到控制器“Home”和操作“Element”,然后此操作将从数据库加载一行,其中元素id为“1”。根据数据库中元素的数据,页面将呈现为联系人表单、图像库等。 现在我可以绘制路径图了 /Page/1/some-title/ will render a normal html page

是否可以通过操作、操作过滤器或任何其他方式在另一个控制器上以相同的方式执行另一个操作,而无需执行物理重定向

原因是我有一个动态分页系统,例如,用户将在其中加载url

/1/some-page-title
此url映射到控制器“Home”和操作“Element”,然后此操作将从数据库加载一行,其中元素id为“1”。根据数据库中元素的数据,页面将呈现为联系人表单、图像库等。 现在我可以绘制路径图了

/Page/1/some-title/ will render a normal html page,
/Contact/1/some-title/ will render a contact form
/Gallery/1/some-title/ will render a gallery

但是我更喜欢简单的路径。

这个答案有问题,我很久没有用ASP MVC做任何事情了,所以我实际上不知道问题是什么。 很遗憾,我无法删除已接受的答案。
所以,我现在把答案一目了然,如果你真的能回答这个问题,或者让它变得更好,请这样做

是的,真的很简单:)

假设您处于控制器C操作A中。您想“重定向”到控制器B操作Z,只需从当前控制器调用另一个控制器操作,并返回其结果

public ActionResult A()
{
    return B.Z()
}

您可能正在寻找。但是,这些是在视图中使用的,而不是在控制器中使用的。

是的,我知道这种方法,但我希望有一种方法让系统为我执行重定向,这样它将启动过滤器并执行注入等等。我不完全确定这是如何被接受为答案的,并随后进行了投票,但是没有人对他在没有实例化控制器的情况下调用一个动作的事实发表评论了吗?kehrk:在回答这个问题后的3年多时间里,我没有做过任何ASP MVC,这一切都是我脑子里想不出来的(事实上,我没有真正回答这个问题的记忆)。谢谢你的批评,我会再看一遍并更新答案。@kehrk:事实上,如果你提供了一个正确的答案,我会对它进行投票并删除我的答案。可能会返回这个.Z();避免混淆