2012-12-23 33 views

回答

1

有两种基本的方法来做到这一点:

  • 创建<form>具有action设置为指向你要拨打的动作的URL。

  • 从客户

更新

做一个POST Ajax请求重定向,你可以简单地返回一个RedirectToRouteResult。通常这是使用RedirectToAction overloads available on Controller之一完成的。

更新2

只有当目标行为是POST(我们假设它被称为TargetAction),你可以创建一个新的动作,允许GET和不return TargetAction()

纯重定向是不可能的,因为据我所知重定向意味着:

  • 服务器与资源的新位置一起返回3XX重定向状态
  • 浏览器做一个GET请求发送给位置在上一步中指出。

但是,我建议您重新考虑控制器操作的设计,以尽可能避免这种情况。

+0

我想从行动重定向到另一个职位的行动,而不使用视图或形式 –

+0

我知道RedirectToAction方法,但我想重定向到httppost行动,并没有得到行动,当存在获取和发布行动在控制器中具有相同的名称,如何可以指定重定向到发布操作 –

+0

@MohammadAkbari是的,我不明白真正的问题是什么。请参阅我的答案更新。 – GolfWolf

0

为什么?你不能通过http动词定义重定向到一个后置动作。

为什么不直接调用其他操作方法而不是使用重定向?

+0

我使用一个模块,希望调用controllel行动 –

+0

我不明白你说什么?坚持标准的MVC惯例。你试图完成什么使你认为你想重定向到一个post方法?如果你想从一个较低的方法调用重定向比在根控制器也重新考虑该策略,并且只做重定向从您的控制器方法。 –

+0

我使用AcountController模块,完成身份验证,在其他控制器的一部分,如果一些条件为真我注册一个用户,并为其分配用户和通过,我想这个新的用户登录,但通过使用相同的登录在AccountController,所以我发送用于登录操作用户并通过但无法访问登录(后)操作 –

相关问题