在 ASP.NET MVC 中,有什么方法可以将数据从一个控制器传递到另一个控制器吗?
Is there any way to pass the data from one controller to another in 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();
}
就将值从控制器传递到另一个而言。您可以使用会话变量来存储值,然后在另一个控制器中使用它。
是的,您可以使用 join 从两个表中获取记录,只需尝试在 LINQ
中查找和 JOIN 查询
https://www.tutorialsteacher.com/linq/linq-joining-operator-join
如果你只想在用户logged-in
之后传递EmployeeId
,你可以像下面这样传递:
return RedirectToAction("Index", "EmployeeLeaves",new {EmployeeId=abc.Id});
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();
}
就将值从控制器传递到另一个而言。您可以使用会话变量来存储值,然后在另一个控制器中使用它。 是的,您可以使用 join 从两个表中获取记录,只需尝试在 LINQ
中查找和 JOIN 查询https://www.tutorialsteacher.com/linq/linq-joining-operator-join
如果你只想在用户logged-in
之后传递EmployeeId
,你可以像下面这样传递:
return RedirectToAction("Index", "EmployeeLeaves",new {EmployeeId=abc.Id});