Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 MVC3 where子句中的多个条件_Asp.net Mvc 3_Razor_Null - Fatal编程技术网

Asp.net mvc 3 MVC3 where子句中的多个条件

Asp.net mvc 3 MVC3 where子句中的多个条件,asp.net-mvc-3,razor,null,Asp.net Mvc 3,Razor,Null,我的控制器中有以下内容 var workshop = registerDB.Workshops.Single(w => w.WorkshopID == id); ViewBag.Enrollments = registerDB.Carts.Where(x => x.Username.Equals(User.Identity.Name)); 在我看来 @{ //var carts = Model.Carts.Where(x => x.Username.Equals(U

我的控制器中有以下内容

var workshop = registerDB.Workshops.Single(w => w.WorkshopID == id);
ViewBag.Enrollments = registerDB.Carts.Where(x => x.Username.Equals(User.Identity.Name));
在我看来

@{ 
    //var carts = Model.Carts.Where(x => x.Username.Equals(User.Identity.Name));
     var carts =  ViewBag.Enrollments;
     var timeSlot = Model.TimeSlot;
    }

   @{
foreach (var item in carts)

{
    if (item != null)
    {
    if (timeSlot == item.Workshop.TimeSlot)
    {
        <h3>@timeSlot</h3>
    }
    }
     else
    {
        <h3>Does not Exist</h3>
    }

}
}
尝试在控制器中调用
.ToList()
,以急切地获取结果:

ViewBag.Enrollments = registerDB
    .Carts
    .Where(x => x.Username.Equals(User.Identity.Name))
    .ToList();

您正在检查
项!=空
但不是该
item.Workshop!=在尝试使用它之前为空。这可能就是错误所在,但我不知道为什么它会引发
invalidooperationexception
而不是
NullReferenceException

尝试:

if(item!=null&&item.Workshop!=null)
{
if(时隙==项目.车间.时隙)
{
@时隙
}
}

您能在您的模型中加入单个调用吗:

workshops workshop = registerDB.Workshops.Single(w => w.WorkshopID == id);
然后在控制器中设置ViewBag:

try
{
ViewBag.Enrollments = workshop.Carts.Where(x => x.Username.Equals(User.Identity.Name));
}
catch
{
ViewBag.Enrollments = "There are no results";
}

@Edgaroching'-不确定。如果用户没有做出任何选择,如何检查ViewBag.Enrollments是否已注册?
workshops workshop = registerDB.Workshops.Single(w => w.WorkshopID == id);
try
{
ViewBag.Enrollments = workshop.Carts.Where(x => x.Username.Equals(User.Identity.Name));
}
catch
{
ViewBag.Enrollments = "There are no results";
}