成功注册后登录用户,无需重复代码

时间:2017-05-25 04:51:25

标签: c# asp.net optimization model-view-controller asp.net-core

我使用带有mvc的asp.net核心,在我的应用程序中有一个帐户控制器,其注册和登录操作如下所示。

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Register(LoginViewModel loginViewModel)

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel loginViewModel)

我想在注册成功注册时登录用户而不复制注册操作中的登录代码,简而言之,如何在提交LoginViewModel的情况下将注册帖子重定向到登录帖子?

是否可以直接从注册操作中调用登录操作?

为了简单/兼容,我使用相同的对象。

1 个答案:

答案 0 :(得分:0)

由于缺乏更好的答案,生病了,直到有人从ASP.NET MVC: RedirectToAction with parameters to POST Action得出更好的答案

只需将您希望重定向的POST操作调用为您所使用的方法

return Login(loginViewModel).Result; //for async methods
return Login(loginViewModel); //for sync methods

免责声明:我不知道这是否是绝对正确的方式,或者它是否会在以后引入任何错误,但它现在有效