首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当前中不存在LINQ - Proj。

当前中不存在LINQ - Proj。
EN

Stack Overflow用户
提问于 2012-06-25 19:54:57
回答 5查看 120关注 0票数 0

我有以下代码:

代码语言:javascript
复制
    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在当前中不存在,对于如何修复这个问题有任何想法。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-25 19:57:32

您是在Projelse块的作用域中声明的,因此它不存在于这些块之外。你想要这样的东西:

代码语言:javascript
复制
// 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);

或者,您可以使用条件运算符:

代码语言:javascript
复制
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);

或者有选择地应用条件,消除所有冗余:

代码语言:javascript
复制
IQueryable<Train> proj = db.usp_Train(idnbr);
if (pick == null || pick == "active")
{
    proj = proj.Where(a => !a.Inactive);
}
return PartialView(proj.ToList());
票数 3
EN

Stack Overflow用户

发布于 2012-06-25 19:57:04

代码语言:javascript
复制
if (pick == null || pick == "active")
{
    return PartialView(db.usp_Train(idnbr).Where(a => a.Inactive == false).ToList());
}
return PartialView(db.usp_Trainin(idnbr).ToList());

或者如果你喜欢:

代码语言:javascript
复制
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);
票数 3
EN

Stack Overflow用户

发布于 2012-06-25 19:57:17

您在范围太窄的范围内定义了Proj

代码语言:javascript
复制
//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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11196380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档