我有以下代码:
if (pick == null || pick == "active")
{
var Proj = db.usp_Train(idnbr)
.Where(a => a.Inactive == false).ToList();
}
else
{
var Proj = db.usp_Train(idnbr).ToList();
}
return PartialView(Proj);对于返回PartialView(Projs)的地方,我收到一条消息,表示Proj在当前中不存在,对于如何修复这个问题有任何想法。
发布于 2012-06-25 19:57:32
您是在Proj和else块的作用域中声明的,因此它不存在于这些块之外。你想要这样的东西:
// Or whatever the type is...
List<Train> proj;
if (pick == null || pick == "active")
{
proj = db.usp_Train(idnbr)
.Where(a => a.Inactive == false).ToList();
}
else
{
proj = db.usp_Train(idnbr).ToList();
}
return PartialView(proj);或者,您可以使用条件运算符:
bool pickActive = pick == null || pick == "active";
var proj = pickActive ? db.usp_Train(idnbr).Where(a => !a.Inactive).ToList()
: db.usp_Train(idnbr).ToList();
return PartialView(proj);或者有选择地应用条件,消除所有冗余:
IQueryable<Train> proj = db.usp_Train(idnbr);
if (pick == null || pick == "active")
{
proj = proj.Where(a => !a.Inactive);
}
return PartialView(proj.ToList());发布于 2012-06-25 19:57:04
if (pick == null || pick == "active")
{
return PartialView(db.usp_Train(idnbr).Where(a => a.Inactive == false).ToList());
}
return PartialView(db.usp_Trainin(idnbr).ToList());或者如果你喜欢:
List<Project> projects;
if (pick == null || pick == "active")
{
projects = db.usp_Train(idnbr).Where(a => a.Inactive == false).ToList();
}
else
{
projects = db.usp_Trainin(idnbr).ToList();
}
return PartialView(projects);发布于 2012-06-25 19:57:17
您在范围太窄的范围内定义了Proj。
//define Proj here!
List<Train> Proj = null;
if (pick == null || pick == "active")
{
Proj = db.usp_Train(idnbr)
.Where(a => a.Inactive == false).ToList();
}
else
{
Proj = db.usp_Train(idnbr).ToList();
}
return PartialView(Proj);https://stackoverflow.com/questions/11196380
复制相似问题