在ASP.NET MVC中,有什么方法可以将数据从一个控制器传递到另一个控制器吗


public IActionResult LoginSubmit(Employee obj)
{
    var abc = _db.Employees.Where(x => x.EmailId == obj.EmailId).FirstOrDefault();
    var passAuth = _db.Employees.Where(x => x.Password == obj.Password).FirstOrDefault();
    if (abc != null && passAuth != null)
    {
        return RedirectToAction("Index", "EmployeeLeaves");
    }
    else
    {
        return RedirectToAction("Login","Employee");
    }
}

上面的代码是我的员工控制器,我想将id传递给Employeeleaves控制器(如下所示(,这样我就可以使用它并从这两个表中获取数据。

此外,登录身份验证条件也相当糟糕。请同时提出逻辑。有没有什么方法可以使用LinqJoin 从EmployeeLeavesController中的两个表中提取数据

private ApplicationDbContext _db;
public EmployeeLeavesController(ApplicationDbContext db)
{
    _db = db;
}
public ViewResult Index(int EmployeeId)
{
    //var employeeLeaveEMp = _db.EmployeeLeaves.Include(c => c.Employee).ToList();
    //List<Employee> employeeList = _db.Employees.ToList();
    //List<EmployeeLeaves> employeeLeaves = _db.EmployeeLeaves.Where(emp => emp.EmployeeId == EmployeeId).ToList();
    return View();
}

如果你只想在用户logged-in之后传递EmployeeId,你可以像下面这样传递:

return RedirectToAction("Index", "EmployeeLeaves",new {EmployeeId=abc.Id});

就将值从控制器传递到另一个控制器而言。您可以使用会话变量来存储值,然后在其他控制器中使用它。是的,您可以使用join从两个表中获取记录,只需尝试在LINQ 中查找和join查询

https://www.tutorialsteacher.com/linq/linq-joining-operator-join

最新更新