问题描述
我是MVC的新手,找不到我的问题的答案,希望有人可以提供帮助。我有两个方法都是actionresults和都返回视图。我遇到的问题是,第一种方法调用第二种方法,并创建一个视图模型,并将定位的数据分配给视图模型,然后返回视图。但是我遇到的问题是第二种方法返回到第一种方法,并且显示了第一种方法的视图而不是第二种方法的视图。我的问题是如何停止第二种方法返回第一种方法并执行第二种方法的视图。我希望我说清楚了。谢谢,这是我的代码。
第一种方法
time_slot
第二种方法
[Route("confirmuser")]
public ActionResult ConfirmUser()
{
var cacId = Request.ClientCertificate["SubjectCN"];
var validUser = LocateUser(cacId);
switch (validUser)
{
case "ActiveUser":
return RedirectToAction("Index","ActiveUser");
case "MultipleUserTypes":
MultipleUserType();
break;
case "Inactive":
return View(AccountMessage(validUser));
case "Locked":
return View(AccountMessage(validUser));
case "disabled":
return View(AccountMessage(validUser));
case "New":
break;
case "UserNotFound":
return View(AccountMessage(validUser));
} //end switch
return View();
}
解决方法
尝试添加return
关键字:
case "MultipleUserTypes":
return MultipleUserType();
正如某人所评论的那样,这是一个快速解决方案,不应以这种方式来调用公共行动方法。您确实应该重构为封装共享逻辑的私有方法。