2

RenderAction()我有父视图,它也使用(返回 a )呈现子控制器操作PartialView。一个示例是带有登录部分视图的首页(输入:用户名、密码、记住和操作:登录

执行过程

  1. GET for Home/Index- 还显示我的登录控件,其登录指向子控制器User/Login
  2. 用户输入凭据并单击登录
  3. POST for User/Login- 检查凭据并返回???

问题

如何从子控制器操作返回父视图User/Login
我的子控制器的部分视图可以呈现任何页面,所以我不能轻易返回父控制器操作的结果,例如:

return new HomeController().Index();

那么我应该如何处理我的子控制器动作及其部分视图呢?

编辑

我可以使用父路由的附加数据发回我的子控制器操作,但我也在我的子控制器操作中填充数据。在我的示例中,我必须显示某人的凭据无效。重定向会丢失这些...

4

1 回答 1

2

不要发布到 /User/Login 来执行登录,而是附加一个返回 url,所以你最终会得到 /User/Login?returnUrl=/Home/Index (url 编码可能会改变一点)

如果在查询字符串中设置了 returnUrl,则 /User/Login 的操作应该只将重定向操作返回到该 returnUrl。

对不起,如果这有点不清楚

于 2009-11-25T20:35:33.707 回答