我有一个 MVC 3 Web 应用程序(实际上更像是一个子应用程序),它不依赖 ASPNET 进行身份验证,因为它已经在应用程序的另一个区域中使用,并且我们正在使用不同类型的凭据。无论如何,我决定使用自己的 SQL 表创建自己的身份验证系统,该表在应用程序中的一个表单上运行良好。现在,我正在尝试将其滚动到共享布局中,在主控制器中调用“登录”操作。我遇到的问题是如何从该登录操作返回到用户所在的位置。当我尝试“返回视图();” 可以理解的是,它会尝试返回不存在的 Home/Login 视图。我如何从这个动作返回到动作之前的任何地方?所有视图都使用共享布局,所以我希望这相当简单!
public class HomeController : Controller
{
.....
private DataModel db = new DataModel();
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Login()
{
string un = Request["form_un"];
string pc = Request["form_pc"];
int usercount = db.JobBoardUsers.Where(u => u.userid.Equals(un) && u.passcode.Equals(pc)).Select(u => new AccountModel() { uid = u.id }).Count();
usercount = db.JobBoardUsers.Where(u => u.userid.Equals(un) && u.passcode.Equals(pc)).Count();
if (usercount > 0)
{
HttpContext.Session["IsSignedIn"] = true;
HttpContext.Session["IsSignedInId"] = un;
}
return View();
}