【发布时间】:2015-05-19 12:01:54
【问题描述】:
我有两个控制器:工作和家庭
现在作业计算停止作业的数量以及在哪个位置,如下所示
public void Stopped()
{
int HBAStop = db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 1).Count();
int CRStop = db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 2).Count();
int MAStop = db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 3).Count();
int QCStop = db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 4).Count();
int LTStop = db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 5).Count();
int PTStop = db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 6).Count();
int SPStop = db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 7).Count();
}
然后我想在主控制器中初始化作业控制器并从stopped()方法中获取各个变量,如下所示
ViewBag.HBAStopped = j.Stopped();
如何将 HBAStop 变量添加到 viewbag 中?我可以通过将它们分别设置为返回方法来解决所有这些问题,但这相当于大约 30 个方法,而且看起来有点矫枉过正和不整洁。我尝试了各种方法都没有成功,返回方法是目前唯一的选择
如果需要,我可以提供更多信息,谢谢
【问题讨论】:
-
你需要在其他控制器上再次获得计数
db.Jobs.Where(x => x.Status == "Stopped" && x.LocationID == 1).Count()
标签: c# asp.net-mvc asp.net-mvc-4 controller